hello ;
et bien lorsque je lance mon .bat , la fenetre dos noir apparait toujours;
y a t ilun moyen pour la cacher ???
et merci
hello ;
et bien lorsque je lance mon .bat , la fenetre dos noir apparait toujours;
y a t ilun moyen pour la cacher ???
et merci
;-) cordialement
il doit y avoir moyen MAIS si tu fais un raccourci avec parametre. c'est comme les fichiers .reg, si tu mets un raccourci avec le parametre -s, ca se fait caché derriere sans confirmation
sinon, comment le .bat pourrait deviner comment il doit se lancer sachant que pour savoir, il faut se lancer (ca tourne la tete :p)
par contre, je ne connais pas le parametre s'il existe pour le lancer en bkgd
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Bonjour !
Tu peux toujours définir des coordonnées négatives pour la position de la fenêtre dans la définition du raccourci (par exemple, -1000,-1000).
Ainsi, la fenêtre DOS est invisible.
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
ok , merci pour les réponses ;
je vais tester
;-) cordialement
start /MIN monbat.bat ?
pour -s ça n'existe pas !
pour les coordonnées négatives de la position de la fenêtre dans la définition du raccourci (par exemple, -1000,-1000). il n'accepte pas des valeurs < à 1
meme start /MIN monbat.bat ça ne marche pas
;-) cordialement
Je jure que ça marche sous Windows 2000 !Envoyé par peppena
Quel est ton OS ?
Au fait, tu peux aussi essayer avec (3000,3000) !
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
Tu peux creer un lien vers ton bat
dans ses caracteristiques tu peux preciser le type d'éxécution
normal - plein ecran - reduit
c ce que je fais actuellement mais , enfait avec reduit il ya une icone dans la berre de tache , si tu clique dessue ca affiche la fenetre dos !!Envoyé par clovis
pour moi ça marche pasEnvoyé par Alcatîz
je suis sur windows2000 professionnal !!
;-) cordialement
bon allé, aujourd'hui, les progs sont à 0€!
http://sub0.developpez.com/delphi/gobat.zip (188 ko)
Ce programme lance le fichier go.bat sans afficher aucune fenêtre...
Voici la source DelphiPeut-être que ça donnera envie de vous essayer au développement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PROGRAM gobat; USES Forms,ShellApi;{$R *.RES} BEGIN ShellExecute(Application.Handle,NIL,'go.bat','','',0); END.
Télécharger Delphi en version gratuite!
à+
De retour parmis vous après 10 ans!!
Salut!
Vous avez été "nombreux" à me demander par MP le programme compilé (c'est vrai que télécharger Delphi juste pour compiler un prog, c'est pas cool).
http://sub0.developpez.com/delphi/gobat.zip
J'en profite pour vous dire que je possède un programme qui convertit les fichiers BAT en EXE, ça pourra aussi vous intérresser je pense :
http://sub0.developpez.com/bat2exe.zip
à+
De retour parmis vous après 10 ans!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part cmdow @ /Min
Lorsque l'on lance un exécutable fait pour tourner sous Windows, si on le lance avec la commande "system", la fenêtre noire du DOS apparaît, par contre elle n'apparaît pas si on le lance avec spawn().
Mais si on lance la commande BAT avec un spawn, le fenêtre DOS apparaît, et de même s'il s'agit d'un exécutable prévu pour tourner sous DOS.
Alors comment cacher cette foutue fenêtre DOS.
Première réponse) Si on lance la commande BAT avec:
(à supposer que la commande BAT s'appelle "TOTO"), cela marche; le batch TOTO.BAT s'effectue bien de manère cachée sans l'apparition de la fenêtre noire du DOS; cependant, cette commande rend immédiatement la main sans attendre la fin de l'exécution du batch, et on ne sait pas quand le batch se termine.
Code C : Sélectionner tout - Visualiser dans une fenêtre à part winexec("TOTO.BAT",SW_HIDE);
Deuxième réponse) Finalement je vous donne la solution, une petite procédure qui permet de lancer n'importe quel EXE ou BAT, sans l'apparition de la fenêtre noire du DOS, et attendant la fin de l'exécution de la commande:
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 void ExecuteCommande(char* Commande) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); // spécifier que la fenêtre du process lancé doit être cachée si.dwFlags=STARTF_USESHOWWINDOW; si.wShowWindow=SW_HIDE; // Start the child process. if( !CreateProcess( NULL, // No module name (use command line) Commande, // Command line NULL, // Process handle not inheritable NULL, // Thread handle not inheritable FALSE, // Set handle inheritance to FALSE 0, // No creation flags NULL, // Use parent's environment block NULL, // Use parent's starting directory &si, // Pointer to STARTUPINFO structure &pi ) // Pointer to PROCESS_INFORMATION structure ) { AfxMessageBox( "Echec CreateProcess"); return; } // Wait until child process exits. WaitForSingleObject( pi.hProcess, INFINITE ); // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); }
On passe en paramètre à cette procédure le nom de l'application à lancer (ex: ExecuteCommande("TOTO.BAT"); )
Cela marche garanti, et la syntaxe ext garantie correcte(testée avec mon application où je l'utilise).
Autant que ma recherche serve à d'autres.
Salut xpascal.
Avec Delphi, c'est encore plus simple, en utilisant des fonctions de haut niveau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PROGRAM gobat; USES Forms,ShellApi;{$R *.RES} BEGIN ShellExecute(Application.Handle,NIL,'go.bat','','',0); END.
De retour parmis vous après 10 ans!!
salut,
pour info,
vous pouvez lire le résultat des commandes :
cmd /help
start /help
toutes les info sont dedans.
On peut personnaliser les fenêtres selon le nom quelle a. C'est enregistré dans le registre.
Salut Ben si tu ne veux pas que ta fenêtre soi vu fait,
start /B /MIN monbat.bat
et le tour est joué !
Initiation à Qt Quick et QML : Partie 1 - Partie 2
En cas de besoin, pensez à la
Mon site et mes tutoriaux sur Developpez.com
Pas de question technique par MP... Les forums sont là pour ça
Dis moi comment tu procède pour executer ton bat ?
mon MSN c'est moussa282002@hotmail.com au cas où !
Initiation à Qt Quick et QML : Partie 1 - Partie 2
En cas de besoin, pensez à la
Mon site et mes tutoriaux sur Developpez.com
Pas de question technique par MP... Les forums sont là pour ça
Essai de jouer sur une exécution sans pause de ton bat pour voir !
mais si tu veux on se vois sur MSN pour être plus "speed" !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager