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
(Microsoft link).
Vous pouvez envoyer des messages `WMCLOSE_ à n'importe quelle fenêtre que vous souhaitez fermer. De nombreuses fenêtres gèrent _
WMCLOSE` pour inviter l'utilisateur à enregistrer des documents.
Un outil qui fait cela correctement est @Kill
. Regardez aussi SendMsg .
Je ne sais pas comment faire cela en mode batch, mais vous pourriez utiliser le vbscript pour cela. Simulation des touches Alt + F4 (équivaut au signal `WMCLOSE`_).
Exécutez et regardez 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és pour SendKeys.
Lorsque vous exécutez le script, le notepad est ouvert, quelques mots sont écrits et ensuite un signal de fermeture du programme est délivré, voir l'image ci-dessous.
Questions supplémentaires
Puis-je lancer un programme minimisé, ou en arrière-plan avec vbscript?
Oui. Utilisez le code suivant :
WshShell.Run "%windir%\notepad.exe", 2
Pour plus d'informations, consultez le site Run Method
.
Peut-on aller sur 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
Y a-t-il un moyen de mettre l'accent sur une application spécifique (chrome. exe)?
Here
dans un exemple.
Je veux envoyer alt+f4 SEULEMENT vers chrome, indépendamment de ce que je fais avec d'autres fenêtres.
Le code suivant fonctionne sur 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}"