首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用VBScript控制记事本

用VBScript控制记事本
EN

Stack Overflow用户
提问于 2015-12-22 17:16:34
回答 2查看 3K关注 0票数 4

关于另一个非常不同的项目,我试图编写一个VBScript,在执行时执行以下操作:

  1. 打开记事本实例(作为隐藏窗口或最小化窗口)
  2. 将记事本的实例聚焦
  3. 将"Hello“写入打开的记事本文件
  4. 发出适当的alt+S等命令,在桌面上将文件保存为"PrototypeText.txt“
  5. 关闭记事本。

我最大的困惑是在步骤"2“,特别是上面的"4”。我知道如何在VBScript中做所有其他事情。有人能帮我做这两步吗?

最后,我意识到有更多实用的方法来实现这一点,比如AutoHotKey,或者用其他语言直接写入*.txt文件。请理解,上述程序是另一个项目的概念的证明,而不是一个交付本身。

非常感谢您花时间对此作出回应。一个链接(我还没有找到),它指定了如何执行上面的"2“和"4”,这也是可行的。

EN

回答 2

Stack Overflow用户

发布于 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使用这两种命令,注意使用睡眠给应用程序处理命令的机会。

代码语言:javascript
复制
     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。您可以通过激活对话框标题来测试对话框。它真的是在激活窗户。

票数 1
EN

Stack Overflow用户

发布于 2017-03-03 04:08:29

假设您不想在打开时通过脚本来更改/继续添加到这个文本文件,那么下面的代码应该可以工作。

代码语言:javascript
复制
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") 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34421170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档