vbs达人帮我解释下几个小疑惑

vbs达人帮我解释下几个小疑惑,第1张

wshshellAppActivate "无标题-记事本"

这个代码是错误的。 "无标题-记事本"

中间应该有两个空格,否则是不会激活的

"无标题 - 记事本"

在 VBScript 中,你可以使用 WScriptShell 对象和 AppActivate 方法来获取顶层窗口句柄

以下是获取顶层窗口句柄的 VBScript 代码示例:

Set WshShell = WScriptCreateObject("WScriptShell")

' 激活指定窗口

WshShellAppActivate "窗口标题"

' 获取顶层窗口句柄

hwnd = WshShellAppActivate()

' 输出顶层窗口句柄

WScriptEcho "顶层窗口句柄:" & hwnd

在上面的代码中,我们首先创建了一个 WScriptShell 对象,并使用 AppActivate 方法激活了指定窗口。然后,我们调用 AppActivate 方法,不传递任何参数,以获取顶层窗口的句柄。最后,我们使用 WScriptEcho 方法输出了获取到的句柄。

需要注意的是,使用 AppActivate 方法获取窗口句柄需要确保窗口已经处于活动状态,否则可能会导致获取到错误的句柄。此外,AppActivate 方法只能获取到顶层窗口的句柄,如果需要获取其他窗口的句柄,需要使用其他方法。

调用下面的一段vbs即可,根据窗口标题激活输入窗口。

Dim WshShell

Set WshShell=WScriptCreateObject("WScriptShell")

WScriptSleep 200

WshShellAppActivate "管理员: MAC-TEST"

WScriptSleep 200

WshShellSendKeys "12345678"

VB的我不知道,C脚本也挺好用的,有内部函数可以调用,例如我要点击一个按钮,让焦点变为打开的“主界面”中的“输入/输出域1”,可以在按钮的鼠标动作里做C脚本如下:

SetPictureName(lpszPictureName,lpszObjectName,"主界面Pdl"); 

Set_Focus("主界面Pdl","输入/输出域1");

这个“是”是不是焦点所在,如果是的话:

Dim sh

Set sh = WScriptCreateObject("WscriptShell")

shSendKeys "{ENTER}"

如果不是焦点,但是有快捷键,可以这样:

Dim sh

Set sh = WScriptCreateObject("WscriptShell")

shSendKeys "%y" '这里假设Y为快捷键,则我们模仿键盘 *** 作alt + y,敲击“是”这个键

set ws = createobject("wscriptshell")

do

if wsappactivate("1vbe - 记事本") = true then

wscriptecho "ok"

else

wscriptecho "no"

wscriptsleep 1000 '1秒

end if

loop

以上就是关于vbs达人帮我解释下几个小疑惑全部的内容,包括:vbs达人帮我解释下几个小疑惑、vbs如何获取顶层窗口句柄、批处理开机自动启动获取输入焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9707020.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存