Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Processo salva file nella cartella del Progetto. c#
Forum - C# / VB.NET - Processo salva file nella cartella del Progetto. c#

Avatar
Valcars92 (Normal User)
Newbie


Messaggi: 20
Iscritto: 17/07/2021

Segnala al moderatore
Postato alle 8:08
Lunedì, 09/08/2021
Salve a tutti e buongiorno.... Non so se il titolo è corretto così ma non mi veniva in mente nulla di meglio per descrivere il problema xD.....
Comunqua ho un errore se si può chiamare così... in pratica creando un programmino che non fa altro che avviare dei programmi esterni non capisco perchè mi salva i file che sono nella cartella del processo nella cartella del programma che ho creato....

Non credo che sia normale xke altrimenti andrà ad occupare solo spazio inutile visto che quei file sono nella cartella del processo e non capisco xke li copia nella cartella del progetto per funzionare...
comunque provo a postare il codice per farvi capire meglio che sicuramente avrò sbagliato qualcosa

Codice sorgente - presumibilmente C++

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Diagnostics;
  6. using System.Drawing;
  7. using System.IO;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12.  
  13. namespace NovaRO
  14. {
  15.     public partial class f_MainForm : Form
  16.     {
  17.         public f_MainForm()
  18.         {
  19.             InitializeComponent();
  20.         }
  21.  
  22.         private void btn_novaPatcher_Click(object sender, EventArgs e)
  23.         {
  24.             Process[] processPatcherbyName = Process.GetProcessesByName("NovaRO Patcher");
  25.  
  26.             if(processPatcherbyName.Count() == 0)
  27.             {
  28.                 string patPatcher = @"C:\NovaRO\NovaRO Patcher.exe";
  29.                 Process patcherProcess = Process.Start(patPatcher);
  30.                 //processPatcherbyName[0] = patcherProcess;
  31.             }
  32.             else if(processPatcherbyName.Count() == 1)
  33.             {
  34.                 MessageBox.Show("NovaRO Patcher è gia aperto!");
  35.                 return;
  36.             }
  37.            
  38.  
  39.         }
  40.  
  41.         private void btn_NovaRO_Click(object sender, EventArgs e)
  42.         {
  43.             string stringGrayMap = File.ReadAllText(@"C:\NovaRO\DATA.ini");
  44.             ProcessStartInfo processInfo = new ProcessStartInfo();
  45.  
  46.             if (cBox_GrayMap.Checked == true)
  47.             {
  48.                
  49.                 stringGrayMap = stringGrayMap.Replace("3=maps.grf1", "3=maps.grf");
  50.                 File.WriteAllText(@"C:\NovaRO\DATA.ini", stringGrayMap);
  51.  
  52.                 processInfo.FileName = @"C:\NovaRO\NovaRO.exe";
  53.                 processInfo.WorkingDirectory = Path.GetDirectoryName(@"C:\NovaRO\NovaRO.exe");
  54.                 Process.Start(processInfo);
  55.  
  56.             }
  57.  
  58.            
  59.             stringGrayMap = stringGrayMap.Replace("3=maps.grf", "3=maps.grf1");
  60.             File.WriteAllText(@"C:\NovaRO\DATA.ini, stringGrayMap);
  61.  
  62.            processInfo.FileName = @"C:\NovaRO\NovaRO.exe";
  63.            processInfo.WorkingDirectory = Path.GetDirectoryName(@"C:\NovaRO\NovaRO.exe");
  64.            Process.Start(processInfo);
  65.  
  66.        }
  67.    }
  68. }



da premettere che sto usando ProcessStartInfo perchè i processi richiedono dei file che si trovano nella sua cartella per avviarsi e con Process mi dava errore di missing file.... cmq credo che l'errore sia proprio in questa funzione....attendo vostre risposte e
come sempre grazie in anticipo

Ultima modifica effettuata da Valcars92 il 09/08/2021 alle 8:11
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6172
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:41
Lunedì, 09/08/2021
Da un bot a un patcher di un gioco... bene


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2090
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 16:54
Lunedì, 09/08/2021
Testo quotato

Postato originariamente da nessuno:

Da un bot a un patcher di un gioco... bene  



:rofl::rofl::rofl:

Conosci i patcher di ragnarok, ne ho fatti diversi compreso l'estrattore e compressore dei GRF.
che non è altro semplicemente di un pacchetto di risorse serializzato indicizzato con degli Header e bit shift per
l'algoritmo di compressione usato.

Non credo che sta creando un Patcher ma semplice un launcher da quel che ho capito.
Anche se personalmente reputo quello di Ragnarok molto obsoleto e poco funzionale.
Ma all'epoca non si poteva ottenere di meglio.

anche il nick Valcars non mi è nuovo. uhm...

Cmq, lanciando il processo da C:\xxx , il processo legge come percorso di avvio C:\xxx e non C:\programmi\NovaRO\
Per fare questo il progetto deve essere avviato da quella cartella C:\programmi\Novaro\Launcher.exe


Prova a fare un test al contrario.
Ovvero copiare tutto neoncube nella cartella bin\debug del progetto e lanciarlo da li.
dovrebbe funzionarti senza problemi.


Ultima modifica effettuata da Thejuster il 09/08/2021 alle 16:55


PM Quote
Avatar
Valcars92 (Normal User)
Newbie


Messaggi: 20
Iscritto: 17/07/2021

Segnala al moderatore
Postato alle 19:49
Lunedì, 09/08/2021
Si in effetti è un programmma che non fa altro che avviare l'eseguibile di RO e il patcher niente di complicato l'ho creato giusto per fare qualcosa xD....mi funziona bene però non capivo perchè mi copiava i file nella cartella del  progetto ed ero curioso di capire se era un errore mio.... xD Comunque Thejuster si io a dire il vero anni fa frequentavo eAthena la sezione italiana non so se ti ricordi....ogni tanto faccio un giro su rAthena ma giusto perchè ho un server locale dove provo script npc ecc...cmq non voglio andare fuori tema .......... nessuno ancora non sono riuscito a creare un patcher xD ma non sarebbe una cattiva idea fare qualche tool per fare qualcosa di costruttivo.,... xD
comunque grazie thejuster...quindi per evitare che mi copia i file devo avviarlo dalla cartella di RO...ora ho capito grazie come sempre ^_^...
proverò a fare anche al contrario e vedrò un pò

Ultima modifica effettuata da Valcars92 il 09/08/2021 alle 19:53
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2090
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 21:26
Lunedì, 09/08/2021
Si, ma come detto, ormai quei tool aka (Neoncube & Co) Sono antenati.
Non ho mai tempo altrimenti farei un patcher o lo proporrei proprio su eAthena.

:ot:
Si che mi ricordo.
Davo supporto anche alla sezione italiana, a quei tempi ro andava fortissimo.
Ricordo il mio primissimo programma che sviluppai eAthena Studio.
Ma adesso c'è il mio rAthena. non lo aggiorno da molto però sta ancora li.
https://github.com/Thejuster/rAthena-Studio


PM Quote