3 votes

vbs script avec sendkeys (erreur)

J'ai un petit script qui met au point un programme ouvert (Notepad), puis attend une seconde avant d'envoyer au programme la fonction CTRL S . Ce script fonctionne 50% du temps, tandis que le reste du temps, le script fait une erreur et envoie en fait une lettre S majuscule directement dans le fichier .txt que je suis en train d'éditer au lieu d'envoyer CTRL S (qui est une commande à sauvegarder).

Voici le contenu du script :

' Create WScript Shell Object to access filesystem.
Set WshShell = WScript.CreateObject("WScript.Shell")

' Select, or bring Focus to a window named `NOTEPAD`
WshShell.AppActivate "Notepad"

WScript.Sleep 1000

WshShell.SendKeys "^s"

Quelqu'un peut-il me dire comment cette erreur se produit ? J'ai pensé que c'était peut-être parce que j'avais activé le CAPSLOCK, mais ce n'est pas le cas.

Fonctionne sous Windows & 64 bit.

1voto

Jason Points 1025

Ok, donc. Je sais que ce piratage extrême n'a aucun sens, mais ça a marché à chaque fois pour moi, donc vous devriez probablement essayer :

' Create WScript Shell Object to access filesystem.
Set WshShell = WScript.CreateObject("WScript.Shell")

' Select, or bring Focus to a window named `NOTEPAD`
WshShell.AppActivate "Notepad"
WScript.Sleep 1500
' Minimize
WshShell.SendKeys "% n"
WshShell.AppActivate "Notepad"
WScript.Sleep 1500
' Maximize
WshShell.SendKeys "% x"
WshShell.AppActivate "Notepad"
WScript.Sleep 1500
' Restore
WshShell.SendKeys "% r"
WshShell.AppActivate "Notepad"
WScript.Sleep 1500
' MAGIC!
WshShell.SendKeys "^s"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X