Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[WD7] Commandes DOS

1,859 views
Skip to first unread message

Fabien

unread,
Aug 5, 2002, 9:07:25 AM8/5/02
to

Comment executer une commande de la meme facon que demarrer/executer ?
En utilisant les APIs winexec ou shellExecute, je bute sur un probleme qui est
l'impossibilité redirigé la sortie STDOUT dans un fichier.
Exemple: Soit la commande "ping 192.168.0.1 >resultat.log"

Avec les 2 APIs winexec et shellexecute, j'ai un message d'erreur de la commande


ping : parametre invalide.
J'ai testé d'autre commande comme dir, tracert... meme constat.

Si je tape la meme commande dans la fenetre demarrer/executer, ca marche.
Comment reproduire la meme chose en Windev7 ?

je suis sous W2K et XP.

PS: J'ai trouvé un activex sur www.touch22.com qui pourrait aller (pas cher: 18
USD) mais toutes les commandes ne fonctionnent pas (comme dir).

--
Utilisez notre serveur de news 'news.foorum.com' depuis n'importe ou.
Plus d'info sur : http://nnrpinfo.go.foorum.fr/

Firetox

unread,
Aug 5, 2002, 9:29:34 AM8/5/02
to
une petite recherche et tu devrais trouver ton bonheur,

une aide :
cherche sur www.windevasso.org

du cote de :
FONCTION PING
( Origine : Romain Petit )

voila si avec ca t'as pas ce qui te faut

bon dev
@+

Firetox

--- Message d'origine ---

--
Article posté depuis le site FORUMS WINDEV® :
http://windev.wdscript.com
Une archive de plus de 75000 articles sur Windev® et Webdev®
--

Michel Moreno

unread,
Aug 5, 2002, 9:41:00 AM8/5/02
to
bonjour,

ddelance("command.com /C ping 192.168.0.1 > resultat.log",ddeiconise,vrai)

saluts

"Fabien" <nospam...@altern.org> a écrit dans le message de news:
200285-14...@foorum.com...

Fabien

unread,
Aug 5, 2002, 1:44:56 PM8/5/02
to

>ddelance("command.com /C ping 192.168.0.1 > resultat.log",ddeiconise,vrai)

Impec :)) il me manquait le /C pour que ca marche avec ddelance.

Par contre, j'ai tenté d'utilser la meme chose avec les APIs suivantes:

Winexec :
*********

res=WinExec("command.com /C ping 192.168.0.1 > resultat.log")

PROCEDURE WinExec(cCmd, aStatut = 1)
lpCmdLine est une chaîne ASCIIZ sur 200
nCmdShow est un entier
lpCmdLine = cCmd
nCmdShow = aStatut
RENVOYER AppelDLL32("kernel32","WinExec", lpCmdLine, nCmdShow)


ShellExecute:
*************

res=LanceAppliCache("command.com"," /C ping 192.168.0.1 > resultat.log")

PROCEDURE LanceAppliCache(NomFichier,parametre="")
hWnd est entier //Handle fenêtre
lpOperation est une chaîne ASCIIZ sur 200 = "open"
lpFile est une chaîne ASCIIZ sur 200 = NomFichier
lpParameters est une chaîne ASCIIZ sur 200 = parametre
lpDirectory est une chaîne ASCIIZ sur 200 =
fCheminCourt(fExtraitChemin(NomFichier,fRépertoire))
nShowCmd est un entier = 0 // 1=normal , 0=caché

hWnd = Handle() //Récupère le handle

RENVOYER AppelDLL32("Shell32", "ShellExecuteA", hWnd, &lpOperation,&lpFile,
&lpParameters, &lpDirectory, nShowCmd)

Mais j'ai un code erreur (33 pour winexec et 42 pour LanceAppliCache)
Une idée ?

Romain Petit

unread,
Aug 5, 2002, 1:58:20 PM8/5/02
to
Fabien <nospam...@altern.org> a écrit:

>Par contre, j'ai tenté d'utilser la meme chose avec les APIs suivantes:

Sous XP/2000/NT as-tu essayé d'utiliser "cmd" à la place de
"command"...

-
Romain Petit

Fabien

unread,
Aug 10, 2002, 1:26:14 PM8/10/02
to

>http://www.windevasso.org/cgi-bin/gesmod.exe?
>exec=DETAIL&NUMSECTION=5&MDP=&TYPE=TRUC&IDSESSION=223832

Super ! Merci beaucoup :-))

0 new messages