Boite de dialogue

Le
Jacques \(BE\)
Bonjour

comment faire afficher une boite de message avec un bouton 'oui' et un
bouton 'non' à partir d'un fichier .bat

Merci de vos réponses


Jacques
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
jbongran
Le #660798
Jacques (BE) wrote:
Bonjour

comment faire afficher une boite de message avec un bouton 'oui' et un
bouton 'non' à partir d'un fichier .bat

Merci de vos réponses


Jacques


En appelant un fichier vbs qui retournera le code correspondant au bouton
cliqué (0 pour oui, 1 pour non)
Vite fait:

Dim strReturn
strReturn = MsgBox("Répondez à la question", 36, "Question...")
'Facultatif, permet de retourner 0 pour oui, 1 pour non
strReturn = strReturn -6
WScript.Quit(strReturn)

call wscript.exe msgbox.vbs
goto button%errorlevel%
:button0
echo Bouton Oui
goto end
:button1
echo Bouton Non
:end
echo Fini !

moi
Le #660797
Notre ami Jacques (BE) tapota :

Bonjour

comment faire afficher une boite de message avec un bouton 'oui' et
un
bouton 'non' à partir d'un fichier .bat

Si c'est pour récupérer le choix fait dans le *.bat en question il me

semble q'il faut rennocer... ce n'est pas fait pour ça.
En revanche, Choice est encore vivant je pense ...

CHOICE [/C[:]touches] [/N] [/S] [/T[:]c,nn] [texte]

/C[:]touches Spécifie les touches configurables. Le défaut est ON
/N Ne pas afficher les touches et le ? à l'invite.
/S Permet de distinguer entre majuscules et minuscules.
/T[:]c,nn Touche par défaut c après nn secondes
texte Texte à afficher à l'invite

le choix est "récupéré" par ERRORLEVEL.

exemple idiot
bien noter l'ordre des if ...
C'est VITAL

-----------------------------------------------------------
CHOICE /C:123 Choisissez entre %1
IF ERRORLEVEL ==3 GOTO CHOIX3
IF ERRORLEVEL ==2 GOTO CHOIX2
IF ERRORLEVEL ==1 GOTO CHOIX1
GOTO END

:CHOIX3
ECHO Vous avez choisi 3
GOTO END

:CHOIX2
ECHO Vous avez choisi 2
GOTO END

:CHOIX1
ECHO Vous avez choisi 1

:END
-----------------------------------------------------------

Méta-MCI
Le #660549
Bonsoir !

Ci-dessous, une version purement (hum !) batch.
Elle est un peu longue, mais c'est parce qu'elle est jolie.

Attention, les espaces comptent ; mieux vaut utiliser un copier-coller
global, plutôt que de toute retaper.
Autre chose : il faut enregistrer le batch sous le nom ouinon.bat dans le
même répertoire où on va le lancer.

@-salutations
--
Michel Claveau



@echo off
::
:: Le batch doit s'appeler ouinon.bat
::
setlocal
type ouinon.bat| find " ">%TEMP%temp.txt
type %TEMP%temp.txt| find /V "find">%TEMP%ouinon.hta
set REPONSE=NON_DEFINI
%TEMP%ouinon.hta
call C:REPONSE.BAT
del C:REPONSE.BAT
echo REPONSE : %REPONSE%
endlocal
goto :EOF



<hta:application
windowstate="normal"
caption="no"
singleinstance="yes"
/>
<html>
<head>
<STYLE>
BODY{FILTER:progid:DXImageTransform.Microsoft.Gradient(startColorstr=#223366,endColorstr=#8888AA,gradientType=1,enabled=true)}
</STYLE>
</head>

<body bgColor=#000088 background="" scroll=no onload="Finit();">

<SCRIPT language=JavaScript>
function Finit(){
self.resizeTo(360,200);
self.moveTo(110,10);
window.name='Oui-Non';
window.title='Oui-Non';
}

function traiteclic(bouton){
var wfs=new ActiveXObject("Scripting.FileSystemObject");
fichier=wfs.CreateTextFile("c:REPONSE.BAT", 1)
fichier.WriteLine("set REPONSE="+bouton);
fichier.close();
window.close();
}
</SCRIPT>

<FONT face=Arial color=#ffffaa size=3>
&nbsp;&nbsp;
Message :
<br><br><b>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Texte de la ligne un <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Texte de la deuxième ligne.<br>
<br><br><br></b>
<blockquote><blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;
<input ID="BTOUI" type="button" class="freebouton" VALUE=" Oui "
onmousedown="traiteclic('OUI');" />&nbsp;&nbsp;&nbsp;
<input ID="BTNON" type="button" class="freebouton" VALUE=" Non "
onmousedown="traiteclic('NON');" /><br>
</blockquote></blockquote>
<br>
</body></html>
Jacques \(BE\)
Le #660271
Bonjour

Effectivement c'est plus beau que la classique boite de message.
Petits problèmes avec ton exemple :
-le bouton Non ne s'affiche pas
-je n'arrive pas à capter quel bouton a été appuyé (ici le bouton Oui)
-le fichier C:REPONSE.BAT ne se crée pas ...


Jacques


"Méta-MCI" news:%
Bonsoir !

Ci-dessous, une version purement (hum !) batch.
Elle est un peu longue, mais c'est parce qu'elle est jolie.

Attention, les espaces comptent ; mieux vaut utiliser un copier-coller
global, plutôt que de toute retaper.
Autre chose : il faut enregistrer le batch sous le nom ouinon.bat dans
le

même répertoire où on va le lancer.

@-salutations
--
Michel Claveau



@echo off
::
:: Le batch doit s'appeler ouinon.bat
::
setlocal
type ouinon.bat| find " ">%TEMP%temp.txt
type %TEMP%temp.txt| find /V "find">%TEMP%ouinon.hta
set REPONSE=NON_DEFINI
%TEMP%ouinon.hta
call C:REPONSE.BAT
del C:REPONSE.BAT
echo REPONSE : %REPONSE%
endlocal
goto :EOF



<hta:application
windowstate="normal"
caption="no"
singleinstance="yes"
/>
<html>
<head>
<STYLE>

BODY{FILTER:progid:DXImageTransform.Microsoft.Gradient(startColorstr=#223366

,endColorstr=#8888AA,gradientType=1,enabled=true)}
</STYLE>
</head>

<body bgColor=#000088 background="" scroll=no onload="Finit();">

<SCRIPT language=JavaScript>
function Finit(){
self.resizeTo(360,200);
self.moveTo(110,10);
window.name='Oui-Non';
window.title='Oui-Non';
}

function traiteclic(bouton){
var wfs=new ActiveXObject("Scripting.FileSystemObject");
fichier=wfs.CreateTextFile("c:REPONSE.BAT", 1)
fichier.WriteLine("set REPONSE="+bouton);
fichier.close();
window.close();
}
</SCRIPT>

<FONT face=Arial color=#ffffaa size=3>
&nbsp;&nbsp;
Message :
<br><br><b>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Texte de la ligne un <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Texte de la deuxième ligne.<br>
<br><br><br></b>
<blockquote><blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;
<input ID="BTOUI" type="button" class="freebouton" VALUE=" Oui "
onmousedown="traiteclic('OUI');" />&nbsp;&nbsp;&nbsp;
<input ID="BTNON" type="button" class="freebouton" VALUE=" Non "
onmousedown="traiteclic('NON');" /><br>
</blockquote></blockquote>
<br>
</body></html>




Michel Claveau
Le #659694
Salut !

C'est certainement parce qu'il y a un problème de sécurité : plusieurs
options sont configurées de manière à empêcher de travailler.

Je suppose que la zone "Poste de Travail" n'autorise pas les ActiveX,
ce qui gêne l'utilisation de WSH. Il se peut aussi que les contenus
actifs sont bloqués.

Perso, je pense que, en Intranet_local, et surtout en poste de travail,
il n'y a pas de risques.

Pour le bouton "NON" pas affiché, il se peut que cela soit dû aux
options d'affichage. Pour vérifier, il suffit de modifier le code HTML,
pour élargir un peu la page affichée.



--
@-salutations

Michel Claveau
Publicité
Poster une réponse
Anonyme