Précédent   Forum des professionnels en informatique > Général Développement > Programmation Windows > Scripts/Batch

Scripts/Batch Forum d'entraide sur la programmation de scripts Batch et Powershell sous Windows.

Réponse
 
Outils de la discussion
Vieux 16/03/2004, 18h20   #1 (permalink)
Membre éprouvé
 
Date d'inscription: juillet 2003
Messages: 406
Par défaut lancer un .bat et cacher la fenetre dos

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
peppena est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/03/2004, 20h14   #2 (permalink)
Rédacteur/Modérateur

 
Avatar de Louis-Guillaume Morand
 
Date d'inscription: mars 2003
Localisation: La Défense
Messages: 9 257
Par défaut

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
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/03/2004, 21h04   #3 (permalink)
Responsable Pascal
 
Avatar de Alcatîz
 
Date d'inscription: mars 2003
Localisation: Liège (Belgique)
Âge: 42
Messages: 3 413
Envoyer un message via ICQ à Alcatîz Envoyer un message via MSN à Alcatîz Envoyer un message via Yahoo à Alcatîz Envoyer un message via Skype™ à Alcatîz
Par défaut

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.
Alcatîz est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 17/03/2004, 12h58   #4 (permalink)
Membre éprouvé
 
Date d'inscription: juillet 2003
Messages: 406
Par défaut

ok , merci pour les réponses ;
je vais tester
__________________
;-) cordialement
peppena est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/03/2004, 18h56   #5 (permalink)
Rédacteur / Modérateur
 
Date d'inscription: juin 2003
Localisation: Australie
Âge: 27
Messages: 5 128
Par défaut

start /MIN monbat.bat ?
Aurelien.Regat-Barrel est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/03/2004, 09h58   #6 (permalink)
Membre éprouvé
 
Date d'inscription: juillet 2003
Messages: 406
Par défaut

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
peppena est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/03/2004, 19h16   #7 (permalink)
Responsable Pascal
 
Avatar de Alcatîz
 
Date d'inscription: mars 2003
Localisation: Liège (Belgique)
Âge: 42
Messages: 3 413
Envoyer un message via ICQ à Alcatîz Envoyer un message via MSN à Alcatîz Envoyer un message via Yahoo à Alcatîz Envoyer un message via Skype™ à Alcatîz
Par défaut

Citation:
Envoyé par peppena
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
Je jure que ça marche sous Windows 2000 !
Quel est ton OS ?

Au fait, tu peux aussi essayer avec (3000,3000) !
Alcatîz est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 20/03/2004, 22h00   #8 (permalink)
Membre régulier
 
Date d'inscription: juin 2002
Messages: 117
Par défaut

Tu peux creer un lien vers ton bat
dans ses caracteristiques tu peux preciser le type d'éxécution
normal - plein ecran - reduit
clovis est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/03/2004, 13h15   #9 (permalink)
Membre éprouvé
 
Date d'inscription: juillet 2003
Messages: 406
Par défaut

Citation:
Envoyé par clovis
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 !!

Citation:
Envoyé par Alcatîz
Je jure que ça marche sous Windows 2000 !
Quel est ton OS ?
pour moi ça marche pas
je suis sur windows2000 professionnal !!
__________________
;-) cordialement
peppena est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/03/2004, 13h43   #10 (permalink)
Rédacteur/Modérateur
 
Avatar de Sub0
 
Date d'inscription: décembre 2002
Âge: 36
Messages: 3 551
Envoyer un message via ICQ à Sub0 Envoyer un message via MSN à Sub0
Par défaut

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 Delphi
Code :
PROGRAM gobat;
USES Forms,ShellApi;{$R *.RES}
BEGIN
 ShellExecute(Application.Handle,NIL,'go.bat','','',0);
END.
Peut-être que ça donnera envie de vous essayer au développement...
Télécharger Delphi en version gratuite!
à+

Dernière modification par Sub0 ; 21/06/2008 à 15h05.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/08/2007, 00h10   #11 (permalink)
Rédacteur/Modérateur
 
Avatar de Sub0
 
Date d'inscription: décembre 2002
Âge: 36
Messages: 3 551
Envoyer un message via ICQ à Sub0 Envoyer un message via MSN à Sub0
Par défaut

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

à+
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/08/2007, 08h44   #12 (permalink)
Débutant(e)
 
Avatar de koKoTis
 
Date d'inscription: août 2006
Localisation: Perdu dans la matrix d'un PC qui n'existe plus
Messages: 3 090
Par défaut

Code :
cmdow @ /Min
koKoTis est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 19/06/2008, 19h35   #13 (permalink)
Invité de passage
 
Date d'inscription: décembre 2007
Messages: 2
Par défaut

Citation:
Envoyé par peppena Voir le message
hello ;
et bien lorsque je lance mon .bat , la fenetre dos noir apparait toujours;

y a t il un moyen pour la cacher ???

et merci

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
xpascal est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/06/2008, 15h06   #14 (permalink)
Rédacteur/Modérateur
 
Avatar de Sub0
 
Date d'inscription: décembre 2002
Âge: 36
Messages: 3 551
Envoyer un message via ICQ à Sub0 Envoyer un message via MSN à Sub0
Par défaut

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.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/04/2009, 23h47   #15 (permalink)
Membre habitué
 
Date d'inscription: juin 2002
Messages: 143
Envoyer un message via MSN à trois_1
Par défaut

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
trois_1 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS WINDOWSF.A.Qs WINDOWSTUTORIELS WINDOWSFREEWARES WINDOWSLIVRES

Réponse

Précédent   Forum des professionnels en informatique > Général Développement > Programmation Windows > Scripts/Batch



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h15.


Vos questions techniques : forum d'entraide Windows - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2009 www.developpez.com - Legal informations.