我有一个小脚本,它可以将打开的程序(记事本)置于焦点,然后等待一秒钟,再将函数发送给该程序CTRL S
。此脚本 50% 的时间有效,而其余时间脚本会出错,实际上会将大写字母 S 直接发送到我正在编辑的 .txt 文件中,而不是发送CTRL S
(这是保存命令)。
以下是脚本的内容:
' 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"
有人能告诉我这个错误是怎么发生的吗?我以为可能是因为我打开了 CAPSLOCK,但事实并非如此。
运行 Windows 和 64 位。
答案1
好的。我知道这种极端的黑客行为毫无意义,但它每次都对我有用,所以你应该尝试一下:
' 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"