Nouveau processus + arguments

shiva54 Messages postés 6 Date d'inscription dimanche 29 août 2004 Statut Membre Dernière intervention 30 août 2004 - 29 août 2004 à 21:17
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 30 août 2004 à 18:07
Bonjour,
Je cherche à lancer un processus et à lui passer des arguments.
Tout d'abord il faut savoir que le programme accept des arguments.
Mon problème est que le processus se lance mais apparement il ne prend pas en compte les processus.
Voici mon code :

string sourceFile = textBox1.Text;
string destinFile = @"temp.txt";
string arguments = "temp.txt test.83p";
string calcText = @"C:\Documents and Settings\paf\Bureau\CalcText\CalcText.exe";

textBox1.Enabled = false;

try
{
File.Delete(destinFile);

File.Copy(sourceFile, destinFile, true);

Process myProcess = new Process();
myProcess.StartInfo = new ProcessStartInfo(calcText, arguments);
myProcess.Start();
myProcess.WaitForExit();
}

catch
{
MessageBox.Show("Impossible de traiter correctement votre demande");
}

textBox1.Enabled = true;

Quelqu'un y voit un problème ?
Merci d'avance

11 réponses

shiva54 Messages postés 6 Date d'inscription dimanche 29 août 2004 Statut Membre Dernière intervention 30 août 2004
29 août 2004 à 21:21
précision destinFile a été modifié
si je met C:\Documents and Settings\paf\Bureau\CalcText\temp.txt ça ne marche pas et c'est ça le problème en faites :(
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
29 août 2004 à 21:53
string calcText = @"C:\\Documents and Settings\\paf\\Bureau\\CalcText\\CalcText.exe";

ca devrait normalement resoudre ton pb

Cyril
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
30 août 2004 à 09:45
euh pas je comprend pas trop là
erreur de compilation ou à l'execution ?

Cocoricoooooooo !!!!
0
shiva54 Messages postés 6 Date d'inscription dimanche 29 août 2004 Statut Membre Dernière intervention 30 août 2004
30 août 2004 à 14:00
Salut jesusonline
Alors j'ai essayé ta solution mais apparement il veut pas.
Coq en faites c'est pas une erreur le truc qu'il se produit c'est que je lance CalcText.exe je lui envoi "nom_d'un_fichier_texte.txt nom_destination.83p"
si je met le fichier texte dans le dossier de CalcText.exe et que je met pas de path donc directement le fichier ça fonctionne mais si je le met ailleur ça ne fonctionne plus et je comprend pas car en manuel les paths sont pris en compte par le programme.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
30 août 2004 à 14:22
verifie deja que le prog externe arrive a se servir du fichier passé en parametre, il n'aime peut etre pas les noms longs, comme "Documents and Settings"

Cocoricoooooooo !!!!
0
shiva54 Messages postés 6 Date d'inscription dimanche 29 août 2004 Statut Membre Dernière intervention 30 août 2004
30 août 2004 à 16:07
hmm apparement ça viendrai de ça mais avec une option y'a pas moyen d'avoir le nom avec les ~ je sais pu comment on appel ce format de path.
merci d'avance
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
30 août 2004 à 16:40
Je ne sais pas si on a l'équivalent en natif dans le framework donc : GetShortPathName.

[DllImport("kernel32")]
private static extern int GetShortPathName(
    string lpszLongPath, 
StringBuilder lpszShortPath, 
int cchBuffer
);


Exemple d'utilisation :
string longpath = @"C:\Documents and Settings\paf\Bureau\CalcText\temp.txt";
StringBuilder shortpath = new StringBuilder(longpath.Length+1);
int ret = GetShortPathName(longpath, shortpath, shortpath.Capacity);


Si tout c'est bien passé tu as ton chemin court dans le StringBuilder

Cocoricoooooooo !!!!
0
shiva54 Messages postés 6 Date d'inscription dimanche 29 août 2004 Statut Membre Dernière intervention 30 août 2004
30 août 2004 à 17:16
non ça marche pas il n'y a rien dans le StringBuilder (tu parles bien de "shortpath" quand tu dis le StringBuilder ?)
mais si c'est bien ça t'embête pas je ferai autrement c'est pas grave
c'est gentil d'avoir essayé de m'aider merci
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
30 août 2004 à 17:37
oui je parle de shortpath (shortpath.ToString() devrait suffire)
Et le chemin doit etre un chemin valide.

Cocoricoooooooo !!!!
0
shiva54 Messages postés 6 Date d'inscription dimanche 29 août 2004 Statut Membre Dernière intervention 30 août 2004
30 août 2004 à 18:02
a oui c'était un problème de fichier inexistant...
la ca marche
je te remercie bcp
dit moi comment ta fait pour apprendre aussi bien C# ?
pke j'essai d'apprendre mais je trouve que je patoge...
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
30 août 2004 à 18:07
lol
ben c'est comme tout ça vient en pratiquant
perso j'ai appris avec : MSDN, csharpfr et google ^^

Cocoricoooooooo !!!!
0
Rejoignez-nous