Stdout cmd.exe ou console.com

Signaler
Messages postés
255
Date d'inscription
samedi 20 avril 2002
Statut
Membre
Dernière intervention
16 janvier 2007
-
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
-
Salut à tous!
Sauriez-vous comment obtenir le output qui suit une commande sur CMD. Pour bien exprimer mon problème, voici un exemple.

Le code commande via une socket un Shell distant sur CMD et lui passe en paramètre Netstat -an. Comment obtenir le résultat en retour?

4 réponses

Messages postés
59
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
2 juin 2004

Mov YourMessage,ToAnotherForum

c pa compliqué l'asm :clown)
ciao bon dev'
%-6 TangiX %-6
Messages postés
255
Date d'inscription
samedi 20 avril 2002
Statut
Membre
Dernière intervention
16 janvier 2007

Ben c'est bien PinPin. Tu as au moins compris le principe du Mov. Et pour le reste, tu en penses quoi?
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

je n'ai jamais essayé mais une redirection sur ton handle de socket doit etre possible avec:

BOOL SetStdHandle(
DWORD nStdHandle,// input, output, or error device
HANDLE hHandle // handle to be a standard handle
);

nStdHandle peut etre:
STD_INPUT_HANDLE Standard input handle
STD_OUTPUT_HANDLE Standard output handle
STD_ERROR_HANDLE Standard error handle

ou alors, rediriger cmd.exe netstat -an > file.txt
puis renvoyer file.txt

@++
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
re salut,

je suppose que tu lance ton cmd.exe avec un CreateProcess or, je viens de trouver un autre truc dans STARTUPINFO

typedef struct _STARTUPINFO { // si
DWORD cb;
LPTSTR lpReserved;
LPTSTR lpDesktop;
LPTSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;

} STARTUPINFO, *LPSTARTUPINFO;

essai de mettre ton handle de socket dans hStdOutput

@++