2013-04-17 7 views
5

Attualmente sto lavorando su uno script VBS ma ho bisogno dell'interazione dell'utente con lo script. Fondamentalmente ho bisogno di due pulsanti e 4 caselle di controllo (le caselle di controllo non sono importanti).Aggiunta di una GUI a VBScript

Grazie in anticipo

+0

Controllare [questa GUI WSH VBS] (https://stackoverflow.com/a/47111556/2165759) soluzione. – omegastripes

risposta

5

VBScript ha dialoghi, solo non molti e nessun caselle di controllo, si avrebbe bisogno di un oggetto COM di farlo (e ci sono). Sono sicuro che sai MessageBox e qui un esempio di Popup meno conosciuto

Dim WshShell, BtnCode 
Set WshShell = WScript.CreateObject("WScript.Shell") 

BtnCode = WshShell.Popup("Do you feel alright?", 7, "Answer This Question:", 4 + 32) 

Select Case BtnCode 
    case 6  WScript.Echo "Glad to hear you feel alright." 
    case 7  WScript.Echo "Hope you're feeling better soon." 
    case -1  WScript.Echo "Is there anybody out there?" 
End Select 

Tuttavia, il modo migliore per avere più finestre di dialogo in VBScript sta usando HTA. Ecco un esempio

<HTML><HEAD> 
    <HTA:APPLICATION 
    ID = "oApp" 
    APPLICATIONNAME = "Example" 
    BORDER = "thick" 
    CAPTION = "yes" 
    ICON = "app.ico" 
    SHOWINTASKBAR = "yes" 
    SINGLEINSTANCE = "yes" 
    SYSMENU = "yes" 
    WINDOWSTATE = "normal" 
    SCROLL = "yes" 
    SCROLLFLAT = "yes" 
    VERSION = "1.0" 
    INNERBORDER = "yes" 
    SELECTION = "no" 
    MAXIMIZEBUTTON = "yes" 
    MINIMIZEBUTTON = "yes" 
    NAVIGABLE = "yes" 
    CONTEXTMENU = "yes" 
    BORDERSTYLE = "normal" 
    > 

    <SCRIPT language="vbscript"> 
    sub SimpleExeample() 
    document.body.innerHTML = "<form name=myform><input type=checkbox name=chk1>Check me<br><br><button onclick='alert(myform.chk1.checked)'>Show if checked</button></form>" 
    end sub 
    </SCRIPT> 

</HEAD> 
<BODY onLoad="SimpleExeample()"> 
</BODY> 
</HTML> 

In una cosa sono d'accordo con Cody, VBScript è quasi morto, se si avvia la programmazione scegliere un'altra lingua. Dai un'occhiata a Ruby, l'inizio è facile da imparare e FUN. Ecco un esempio di u rubino scarpe di script utilizzando come interfaccia grafica

require 'green_shoes' 
Shoes.app{ 
    button("Click me!"){alert("You clicked me.")} 
} 

EDIT: dato che la mia alternativa Rubino sorge alcune domande, qui un traditionel modo più vicini a VBScript utilizza dello stesso campione. L'esempio sopra è usato di più per un modo funzionale di programmazione concatenato.

require 'green_shoes' 
Shoes.app do 
    button("Click me!") do 
    alert("You clicked me.") 
    end 
end 
+1

L'unica cosa che Popup aggiunge a MsgBox è un tempo di attesa facoltativo. Tutto il resto è lo stesso. Non c'è supporto per caselle di controllo o pulsanti personalizzati. –

+0

Conosco il linguaggio java ma ho bisogno di fare qualcosa di base come vbs. Non posso testare i codici adesso ma quando tornerò a casa lo proverò. Grazie –

+0

non lo dico, ma è possibile con la soluzione HTA, ho adattato il campione per mostrare che chiaramente – peter