关于另一个非常不同的项目,我试图编写一个VBScript,在执行时执行以下操作:
我最大的困惑是在步骤"2“,特别是上面的"4”。我知道如何在VBScript中做所有其他事情。有人能帮我做这两步吗?
最后,我意识到有更多实用的方法来实现这一点,比如AutoHotKey,或者用其他语言直接写入*.txt文件。请理解,上述程序是另一个项目的概念的证明,而不是一个交付本身。
非常感谢您花时间对此作出回应。一个链接(我还没有找到),它指定了如何执行上面的"2“和"4”,这也是可行的。
发布于 2015-12-22 19:58:22
在WSH对象中,如果在该环境中运行vbs (很可能),则使用appactivate。但隐藏的窗户不能被激活所以..。
同样,WSH对象中的sendkeys可以执行4(但不是在隐藏窗口中)。
下面是vbscript帮助中的一个示例(https://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.84).aspx使用这两种命令,注意使用睡眠给应用程序处理命令的机会。
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。您可以通过激活对话框标题来测试对话框。它真的是在激活窗户。
发布于 2017-03-03 04:08:29
假设您不想在打开时通过脚本来更改/继续添加到这个文本文件,那么下面的代码应该可以工作。
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") https://stackoverflow.com/questions/34421170
复制相似问题