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 réponse à cette question peut être trouvée here
( lien Microsoft ).
Vous pouvez envoyer des WM_CLOSE
messages à n’importe quelle fenêtre que vous souhaitez fermer. De nombreuses fenêtres WM_CLOSE
permettent d'inviter l'utilisateur à enregistrer des documents.
Un outil qui fait cela correctement est @Kill
. Regardez aussi SendMsg .
Je ne sais pas comment procéder par lots, mais vous pouvez utiliser vbscript pour cela. Simulation des touches Alt+ F4(équivaut à signaler WM_CLOSE
).
Exécuter et regarder le comportement de ce script ci-dessous.
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
est la liste des noms de clé pour SendKeys.
Lorsque vous exécutez le script, le bloc - notes est ouvert, des mots sont écrits, puis un signal de fermeture du programme est délivré, voir l'image ci-dessous.
Questions supplémentaires
Puis-je démarrer un programme réduit ou fond avec vbscript?
Oui. Utilisez le code suivant:
WshShell.Run "%windir%\notepad.exe", 2
Pour plus d'informations, consultez le Run Method
.
Chrome peut-il accéder à une URL dans vbscript?
Dim iURL
Dim objShell iURL = "www.google.com"
set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "chrome.exe", iURL, "", "", 1
Si chrome est la valeur par défaut, utilisez:
set objShell = CreateObject("WScript.Shell")
objShell.run(iURL)
Source
Existe-t-il un moyen de mettre en évidence une application spécifique ( chrome.exe )?
Here
dans un exemple.
Je veux envoyer alt + f4 UNIQUEMENT à chrome, indépendamment de ce que je fais avec d'autres fenêtres.
Le code suivant fonctionne sous Windows 8 .
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}"