ShellExecute probleme

g0belin Messages postés 155 Date d'inscription jeudi 6 décembre 2001 Statut Membre Dernière intervention 19 avril 2010 - 29 déc. 2002 à 15:34
hardghost Messages postés 2 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 1 septembre 2008 - 20 oct. 2008 à 10:36
voila je voulais faire un pti prog simpa pour envoyer des net send mais j'ai un probleme:

si je fais ça, sa marche :
-----------------------------
ShellExecute(0, nil, 'C:\WINDOWS\system32\cmd.exe','c/ net send 10.0.0.3 salut', nil, SW_HIDE);

mais si je fais sa :
---------------------
ShellExecute(0, nil, 'C:\WINDOWS\system32\cmd.exe', '/c net send '+edit1.text+' '+edit2.text, nil, SW_SHOWNORMAL);

sachant que :
o edit1.text = '10.0.0.3' o edit2.text 'salut'
Pourquoi cela ne marche t'il pas !
A voir également:

5 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
29 déc. 2002 à 16:56
Pour ces arguments, ShellExecute attend des PChar. Il suffit de faire :
ShellExecute(0, nil, 'C:\WINDOWS\system32\cmd.exe', PChar('/c net send '+edit1.text+' '+edit2.text), nil, SW_SHOWNORMAL);

May Delphi be with you
0
g0belin Messages postés 155 Date d'inscription jeudi 6 décembre 2001 Statut Membre Dernière intervention 19 avril 2010
29 déc. 2002 à 17:47
merci de ta reponse rapide :)
0
elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 3
1 août 2005 à 10:48
- A mon avis meme pas besoin d'appeler la console cmd avant de faire ton net send, elle va se lencer toute seule.

- N'oublie pas d'ajouter "ShellApi" à la clause uses pour avoir accès au API.

- Caster tes arguments String en PChar = > Pchar( 'Chaine' );

Ex : ShellExecute(Self.Handle, PChar('open'), PChar( 'net send' + edit1.Text ), Pchar( edit2.Text ) , nil, SW_SHOWNORMAL );

(j'ai pas testé alors peut etre que çà marche pas mais il me semble que c'est comme çà que çà marche !)

Et si tu veux cacher la console au moment de l'execution pour eviter de voir une fenetre ms-dos aparaitre ou un sintillement tu peux changer le " SW_SHOWNORMAL" par un "SW_HIDE" (va voir la MSDN pour plus d'info => http://msdn.microsoft.com/)
-ElGuevel-
0
elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 3
16 août 2005 à 10:07
dsl j'ai fait une erreur ...

Faut pas faire : ShellExecute(Self.Handle, PChar('open'), PChar( 'net send' + edit1.Text ), Pchar( edit2.Text ) , nil, SW_SHOWNORMAL );

Mais : ShellExecute(Self.Handle, 'open', PChar( 'net send' + edit1.Text ), Pchar( edit2.Text ) , nil, SW_SHOWNORMAL );

C'est tout
-ElGuevel-
0

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

Posez votre question
hardghost Messages postés 2 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 1 septembre 2008
20 oct. 2008 à 10:36
Slt
ex:
var
P:string;
begin
P:=(/c net send+edit1.Text+edit2.Text);
ShellExecute(Handle, 'open', 'cmd.exe',PChar(P),0, SW_SHOWNORMAL);

____
0
Rejoignez-nous