
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如何获取顶层窗口句柄、批处理开机自动启动获取输入焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)