Vbscript Printscreen 到 MSpaint

Che*_*n G 4 windows vbscript printscreen

拍摄活动窗口的屏幕截图。

Set Wshshell=CreateObject("Word.Basic")
WshShell.sendkeys"%{prtsc}"
WScript.Sleep 1500
Run Code Online (Sandbox Code Playgroud)

运行 Mspaint 并粘贴。

set Wshshell = WScript.CreateObject("WScript.Shell")
Wshshell.Run "mspaint"
WScript.Sleep 500

WshShell.AppActivate "Paint"
WScript.Sleep 500

WshShell.sendkeys "^(v)"
WScript.Sleep 1500
Run Code Online (Sandbox Code Playgroud)

在这里,对活动窗口进行截图的操作工作正常。另外,它以mspaint开头,但内容并未粘贴到paint文件中。

Ekk*_*ner 5

你 .Sendkeys 的 ^V 参数是错误的,应该是:

WshShell.sendkeys "^v"
Run Code Online (Sandbox Code Playgroud)

.AppActivate 之后的 .Sleep 似乎很关键;在我增加睡眠时间之前,我无法让它“工作”:

WshShell.AppActivate "Paint"
WScript.Sleep 5000
Run Code Online (Sandbox Code Playgroud)

您的问题证明 .Sendkeys 不可靠。看这里,特别是Moby Disk的贴子,想想其他的策略。