Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4706 connectés 

  FORUM HardWare.fr
  Programmation

  [Borland C++] Lancer une commande DOS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Borland C++] Lancer une commande DOS

n°56281
glopman
The cheese won't protect you
Posté le 30-08-2001 à 12:34:29  profilanswer
 

Bon je sais je suis pas aidé mais bon j'ai une question stupide à vous poser : comment faire pour lancer une commande dos du style:
dir d:\ >> d:\liste.txt
Parce que les fonctions ShellExecute sont bien gentilles mais elle ne font pas ça...
 
merci


---------------
Chaos is found in greatest abundance wherever order is being sought. It always defeats order, because it is better organized.
mood
Publicité
Posté le 30-08-2001 à 12:34:29  profilanswer
 

n°56286
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-08-2001 à 13:12:13  profilanswer
 

bhen vu que comme tu le dis c'est une commande DOS et non pas un programme, tu dois lancer command.com (sous win9x) ou cmd.exe (sous winNT/2K)
donc programme à lancer = "command.com"
paramètres (je suis pas sûr qu'on peut les mettre dans la même chaine que le programme à lancer, sinon c'est le paramètre suivant du shellexecute) = "/c dir d:\ >> d:\liste.txt"
donc un truc du genre:
ShellExecute(0,"","command.com","/c dir d:\\ >> d:\\liste.txt", etc...);
si tu veux que la fenêtre DOS reste ouverte après exécution, c'est /k au lieu de /c.
Pour le choix entre command.com et cmd.exe, je ne sais pas trop command tu peux t'y prendre, mais il doit y avoir moyen de faire ça facilement.
Je pense que command.com peut marcher à tous les coups, mais je n'ai pas de NT4 ou de XP sous la main pour tester...

 

[edtdd]--Message édité par antp--[/edtdd]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°56288
la viper
Posté le 30-08-2001 à 13:36:50  profilanswer
 

?!?
 
system("dir d:\>> d:\liste.txt" );
fonctionne tres tres bien .. :D
 
pas besoin de lancer command.com ou cmd.exe

n°56289
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-08-2001 à 13:39:00  profilanswer
 

system ça fonctionne en NT et 2k ?
ce ne serait pas une de ces fonctions qu'il ne vaut mieux ne plus utiliser, un peu comme WinExec, pcq ça date de l'API Win3.1 ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°56290
la viper
Posté le 30-08-2001 à 13:45:38  profilanswer
 

c est du C pure .. oui ca fonctionne sous NT mais evidement .. la chose la plus recommandée c est CreateProcess... le reste c'est plus ou moins du caca

n°56292
glopman
The cheese won't protect you
Posté le 30-08-2001 à 13:53:07  profilanswer
 

merci a tous les 2
 
à mon avis command.com est assez aleatoire sous NT parce que je l'avais tenter sans grand resultats (enfin ça c'est peut etre de ma faute aussi remarquez...)
 
mais encore merci


---------------
Chaos is found in greatest abundance wherever order is being sought. It always defeats order, because it is better organized.
n°56340
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-08-2001 à 15:23:14  profilanswer
 

la viper a écrit a écrit :

c est du C pure .. oui ca fonctionne sous NT mais evidement .. la chose la plus recommandée c est CreateProcess... le reste c'est plus ou moins du caca  




 
ha ok, c'est du C, mais en C++ Win32 est-ce que ça ne pose pas de problème ? Je n'ai jamais utilisé cette fonction en fait.
Et vu que moi en general je fais du Delphi je dois de toute façon utlise ShellExecute qui, je pense, est aussi bien que CreateProcess. La différence c'est que CreateProcess tu t'occupes du process créé (savoir quand il a fini, etc...), tandis que ShellExecute tu lances un truc dont tu ne t'occupes plus après (et je le trouve bcp plus simple à utiliser, y a qu'une ligne avec peu de paramètres).
Dans les fichiers d'aides de Borland il disent de ne pas utiliser WinExec, mais rien à propos de CreateProcess plutôt que ShellExecute.

 

[edtdd]--Message édité par antp--[/edtdd]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°56456
la viper
Posté le 31-08-2001 à 02:34:45  profilanswer
 

b

n°56457
la viper
Posté le 31-08-2001 à 02:36:05  profilanswer
 

bien je me suis jamais servi de ShellExecute mais ca doit etre l'equivalent de system sous C ..
 
maintenant au niveau perf il ne doit pas y avoir bcp de difference.
 
l'avantage de system, c que tu peux executer des commandes dos sans te soucier de savoir si c command.com ou cmd.exe

n°56460
youdontcar​e
Posté le 31-08-2001 à 02:45:16  profilanswer
 

au pire, tu créés un .bat et tu le balances à ShellExecute() ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Borland C++] Lancer une commande DOS

 

Sujets relatifs
[Perl] Equivalent en Perl de la commande: echo "truc" > truc.txtScript Dos help !!!
[Borland C++] SHFileOperation et Ansistring[LINUX] lancement d'un prog par lignede commande
[QT] et borland c++ compileur ?créer un batch ki quitte au lancement d'une commande
[Delphi] Récupperer l'affichage d'un programe DOS[C++] lancer IE avec une page en parametre ?
[Super newbie] : se lancer dans la programmation !Recuperer du texte dans une fenêtre DOS
Plus de sujets relatifs à : [Borland C++] Lancer une commande DOS


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)