与另一个非常不同的项目相关,我正在尝试编写一个 VBScript,该脚本在执行时将执行以下操作:
我最大的困惑点是上面的步骤“2”,尤其是“4”。 我知道如何在 VBScript 中完成所有其他操作。 谁能帮我完成这两个步骤?
最后,我意识到有很多更实用的方法可以实现这一点,例如 AutoHotKey,或者直接写入 *.txt 文件(也许用其他语言)。 请理解,上述程序是另一个项目的概念验证,而不是其本身的可交付成果。
非常感谢您花时间回复。 指定如何执行上面的“2”和“4”的链接(我还没有找到)也可以工作。
在 WSH 对象中,如果您在该环境中运行 vbs(很可能),则使用
appactivate
。但是隐藏窗口无法激活所以...
再次
sendkeys
在WSH对象中可以做4(但不能在隐藏窗口中)。
这是 vbscript 帮助中的示例 (https://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.84).aspx),使用这两个命令并注意使用 sleep 让应用程序有机会处理命令。
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "calc"
WScript.Sleep 100
WshShell.AppActivate "Calculator"
WScript.Sleep 100
WshShell.SendKeys "1{+}"
WScript.Sleep 500
WshShell.SendKeys "2"
WScript.Sleep 500
WshShell.SendKeys "~"
WScript.Sleep 500
WshShell.SendKeys "*3"
WScript.Sleep 500
WshShell.SendKeys "~"
WScript.Sleep 2500
最小化窗口可以获得焦点。
使用这样的字符串来获取桌面。包括引号。
"%userprofile%\desktop\yourfilename.txt"
。引号是为了防止有空格。
AppActivate 还会返回一个代码。如果可以或已激活,则为 True。您可以通过激活对话框标题来使用它来测试对话框。这真的是窗口激活。
假设您不想在打开时通过脚本更改/继续添加此文本文件,则以下内容应该可以工作。
Dim objFSO, objFileToWrite, WShell
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WShell = CreateObject("WScript.Shell")
'Create Text File and write to it then close it
Set objFileToWrite = objFSO.CreateTextFile("C:\Users\***YOUR USER ID HERE***\Desktop\PrototypeText.txt", 1)
objFileToWrite.Write "Hello World"
objFileToWrite.Close
'Open newly created and saved text file
WShell.Run("Notepad.exe C:\Users\***YOUR USER ID HERE***\Desktop\PrototypeText.txt")
这也将是同性恋,但这是摧毁你的电脑的同性恋脚本 A=msgbox("你可以同性恋一点吗",0+4096,"你是同性恋")