Faire exécuter plusieurs commandes à la cmd dans la même Console

Sens0r Messages postés 35 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 23 mars 2006 - 6 mars 2006 à 17:30
Sens0r Messages postés 35 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 23 mars 2006 - 7 mars 2006 à 19:47
Bonjour,

j'airais besaoin d'un coup de main de votre part.
J'ai un programme qui devrait exécuter quelques commandes dans la cmd.exe après l'avoir lancée, mais je ne sais pas vraiment comment m'y prendre.

Je pensait qu'avec un AllocConsole() aini que les Handles correspondants je pourrais le faire, mais je ne vois pas trop comment.

Voici mon Code jusqu'ici:

#include
#include <Windows.h>

int main(){
HANDLE hIn;
hIn = GetStdHandle(STD_INPUT_HANDLE);
HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);

AllocConsole();
if (hIn != INVALID_HANDLE_VALUE)
{


STARTUPINFO si = { sizeof(si) };
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdInput = hIn;
si.hStdOutput = hOut;


PROCESS_INFORMATION pi;
char szExe[] = "cmd.exe /K dir \r\n";

if(CreateProcess(0, szExe, 0, 0, TRUE, 0, 0, 0, &si, &pi))
{

}

}
return 0;
}

Je voudrais avoir des commandes commes cd.., dir, copy etc dans la même Shell.
Quelqu'un peut il m'aider?

ce serait sympa,
salutations,
Sens0r

7 réponses

deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
6 mars 2006 à 19:45
et pourquoi pas system("la command");







Bon code

++All
0
yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
6 mars 2006 à 21:08
Bonjour
Je te propose aussi la commande ShellExecute(). Es tu sur d'utiliser vraiment la meilleur solution? L'utilisation des API est peut être plus appropriée?

Bonne soiré.
0
Sens0r Messages postés 35 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 23 mars 2006
6 mars 2006 à 21:12
Nonjour, je vous remercie :)

Alors non, je ne suis pas sur :) Je suis débutant en ce domaine, pourrais tu m'expliquer s'il te plait?

@deck_bsd
mh oui j'y ai déja pensé, dois-je simplement placer system() dans:

if(CreateProcess(0, szExe, 0, 0, TRUE, 0, 0, 0, &si, &pi))
{

}
?

oubien où?

thx,
sens0r
0
yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
7 mars 2006 à 06:43
Que compte tu y mettre dans ta commande : system().. Si tu souhait y mettre un dir, il y a des solutions certainement plus appropié pour lister les fichiers d'un repertoire.

pour CreateProcess() quelques info http://support.microsoft.com/default.aspx?scid=kb;fr;175986
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createprocess.asp
Bon courrage
0

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

Posez votre question
Sens0r Messages postés 35 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 23 mars 2006
7 mars 2006 à 07:31
Salut,

comme je l'ai dit dans mon premier post:
Je voudrais avoir des commandes commes cd.., dir, copy etc dans la même Shell.

J'ai donc toujours le même objectif ;)
Quel solution p.ex?

Salutations
sens0r
0
yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
7 mars 2006 à 17:24
0
Sens0r Messages postés 35 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 23 mars 2006
7 mars 2006 à 19:47
HEy,

exellent, je te remerci, je vais analyser tout cela!

Merci,
Sens0r
0
Rejoignez-nous