What is the proper way to close/exit programs from command line,
similar to pressing the "X" close button in the corner of the window?
La risposta a questa domanda si trova here
(Microsoft link).
È possibile inviare `WMCLOSE_ messaggi a qualsiasi finestra che si desidera chiudere. Molte finestre gestiscono _
WMCLOSE` per chiedere all'utente di salvare i documenti.
Uno strumento che lo fa correttamente è @Kill
. Guarda anche SendMsg .
Non so come fare questo in batch, ma si potrebbe usare il vbscript per questo. Simulare le chiavi Alt + F4 (equivale al segnale `WMCLOSE`_).
Esegui e guarda il comportamento di questo script qui sotto.
Set WshShell = WScript.CreateObject("WScript.Shell")
' Start Notepad.exe
WshShell.Run "%windir%\notepad.exe"
' Select, or bring Focus to a window named `Notepad`
WshShell.AppActivate "Notepad"
' Wait for 4 seconds
WScript.Sleep 4000
WshShell.SendKeys "Foo"
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "Bar"
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "{CAPSLOCK}"
WshShell.SendKeys "baz"
WshShell.SendKeys "%{F4}"
Here
è la lista dei nomi delle chiavi per SendKeys.
Quando si esegue lo script, il notepad è aperto, vengono scritte alcune parole e poi viene inviato un segnale per chiudere il programma, vedi immagine sotto.
Domande aggiuntive
Posso avviare un programma minimizzato, o in background con vbscript?
Sì. Usare il seguente codice:
WshShell.Run "%windir%\notepad.exe", 2
``` ```
Dim iURL
Dim objShell iURL = "www.google.com"
set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "chrome.exe", iURL, "", "", 1
Per ulteriori informazioni, controllare Run Method
.
Può il cromo andare a qualche url in vbscript?
set objShell = CreateObject("WScript.Shell")
objShell.run(iURL)
``` ```
Dim objShell
iURL = "www.google.com.br"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run(iURL)
' Select, or bring Focus to Google Chrome
WshShell.AppActivate "Google Chrome"
' Wait for 5 seconds
WScript.Sleep 5000
WshShell.SendKeys "%{F4}"
Se il cromo è l'impostazione predefinita, usare:
&001 &001
Source
C'è un modo per mettere a fuoco l'applicazione specifica (cromo. exe)?
Here
in un esempio.
Vorrei inviare alt+f4 SOLO al cromo, indipendentemente da quello che sto facendo con altre finestre.
Il seguente codice funziona su Windows 8.
&001