|
Publicité | |||||||||||||||||||||||
|
|
#1 |
|
Membre éprouvé
![]() Date d'inscription: juillet 2003
Messages: 410
|
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 |
|
|
|
|
|
#2 |
![]() ![]() Nom : Louis-Guillaume MORAND
Date d'inscription: mars 2003
Localisation: La Défense
Messages: 10 340
|
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 par contre, je ne connais pas le parametre s'il existe pour le lancer en bkgd |
|
|
|
|
#3 |
![]() |
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. |
|
|
|
|
#4 |
|
Membre éprouvé
![]() Date d'inscription: juillet 2003
Messages: 410
|
ok , merci pour les réponses ;
__________________
;-) cordialement |
|
|
|
|
|
#5 |
![]() Date d'inscription: juin 2003
Localisation: France
Âge: 28
Messages: 5 359
|
start /MIN monbat.bat ?
|
|
|
|
|
#6 |
|
Membre éprouvé
![]() Date d'inscription: juillet 2003
Messages: 410
|
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 |
|
|
|
|
|
#7 | |
![]() |
Citation:
Quel est ton OS ? Au fait, tu peux aussi essayer avec (3000,3000) ! |
|
|
|
|
|
#8 |
|
Membre régulier
![]() Date d'inscription: juin 2002
Messages: 123
|
Tu peux creer un lien vers ton bat
dans ses caracteristiques tu peux preciser le type d'éxécution normal - plein ecran - reduit |
|
|
|
|
|
#9 | ||
|
Membre éprouvé
![]() Date d'inscription: juillet 2003
Messages: 410
|
Citation:
Citation:
je suis sur windows2000 professionnal !!
__________________
;-) cordialement |
||
|
|
|
|
|
#10 |
![]() |
bon allé, aujourd'hui, les progs sont à 0€!
Ce programme lance le fichier go.bat sans afficher aucune fenêtre... Voici la source Delphi Code :
PROGRAM gobat;
USES Forms,ShellApi;{$R *.RES}
BEGIN
ShellExecute(Application.Handle,NIL,'go.bat','','',0);
END.
à+ Dernière modification par Sub0 ; 21/06/2008 à 15h05. |
|
|
|
|
|
#11 |
![]() |
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 à+ |
|
|
|
|
|
#12 |
|
Débutant(e)
Date d'inscription: août 2006
Localisation: Perdu dans la matrix d'un PC qui n'existe plus
Messages: 3 110
|
Code :
cmdow @ /Min |
|
|
|
|
|
#13 | |
|
Invité de passage
![]() Date d'inscription: décembre 2007
Messages: 2
|
Citation:
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: winexec("TOTO.BAT",SW_HIDE); (à 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. 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 :
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. Dernière modification par Alcatîz ; 19/06/2008 à 21h18. Motif: balises code |
|
|
|
|
|
|
#14 |
![]() |
Salut xpascal.
Avec Delphi, c'est encore plus simple, en utilisant des fonctions de haut niveau : Code :
PROGRAM gobat;
USES Forms,ShellApi;{$R *.RES}
BEGIN
ShellExecute(Application.Handle,NIL,'go.bat','','',0);
END.
|
|
|
|
|
|
#15 |
|
Membre habitué
![]() |
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.
__________________
N'hésitez pas à dialoguer en direct avec moi |
|
|
|
|
|
#16 |
|
Invité de passage
![]() Date d'inscription: juillet 2006
Messages: 3
|
Salut Ben si tu ne veux pas que ta fenêtre soi vu fait,
start /B /MIN monbat.bat et le tour est joué ! |
|
|
|
|
|
#17 | |
|
Membre émérite
![]() Date d'inscription: janvier 2007
Âge: 28
Messages: 782
|
Citation:
Ce topic pourrait me résoudre pas mal de problème sur un projet actuel, malheureusement je suis loin d'être au top sur les batch et j'aimerai donc savoir à quel endroit cette commande doit être mise? D'avance merci |
|
|
|
|
|
|
#18 |
|
Invité de passage
![]() Date d'inscription: juillet 2006
Messages: 3
|
Dis moi comment tu procède pour executer ton bat ?
mon MSN c'est moussa282002@hotmail.com au cas où ! |
|
|
|
|
|
#19 | |
|
Membre émérite
![]() Date d'inscription: janvier 2007
Âge: 28
Messages: 782
|
Citation:
Pour l'info mon .bat me permet de lancer un script python avec python (dans le cas où celui-ci n'est pas dans le path par exemple). |
|
|
|
|
|
|
#20 |
|
Invité de passage
![]() Date d'inscription: juillet 2006
Messages: 3
|
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" !
|
|
|
|
|
|
![]() |
||
lancer un .bat et cacher la fenetre dos
|
||
| Outils de la discussion | |
|
|