vbs如何使用组合键

语句怎么编写比如:WIN+D怎么实现我是VBS菜鸟高手指教下... 语句怎么编写 比如:WIN+D 怎么实现 我是VBS菜鸟 高手 指教下 展开
 我来答
王勃啊
2017-06-15 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5015
采纳率:62%
帮助的人:4058万
展开全部

vbs 默认没有win这个组合键。默认只有ShiftCtrlAlt

为了实现与WIN+D相同的功能(显示桌面),可以考虑使用如下的vbs代码,也是最方便的一种方法:

set objShell = CreateObject("shell.application")
objShell.MinimizeAll

但是,如果引入第三方的支持库,便可以直接调用winapi,这就几乎没什么是做不了的了。

Const VK_LWIN = &H5B
Const VK_D = &H44
Public Const KEYEVENTF_KEYUP = &H2
Set WinAPI = CreateObject("DynamicWrapperX")   
WinAPI.Register "USER32.DLL", "keybd_event", "i=ccll", "f=s"
WinAPI.keybd_event VK_LWIN, 0, 0, 0
WinAPI.keybd_event VK_D, 0, 0, 0
WinAPI.keybd_event VK_D, 0, KEYEVENTF_KEYUP, 0
WinAPI.keybd_event VK_LWIN, 0, KEYEVENTF_KEYUP, 0

DynamicWrapperX对应的dll可以在http://www.script-coding.com/dynwrapx_eng.html 这里下载。

不过可惜的是x64的系统对此支持不是很好,在所有x64平台的windows需要重新关联.vbs到

%SYSTEMROOT%\SysWOW64\wscript.exe

或者以%SYSTEMROOT%\SysWOW64\wscript.exe <vbs path> 这样传参数的方式启动。

匿名用户
2013-07-20
展开全部
Set Wshell=CreateObject("WScript.Shell")Wshel.SendKeys {F1} '发送F1'其它的类似'VBS不能发送WIN这个键。只能用组合键代替Wshel.SendKeys "{CTRL}+{ESC}"
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2022-07-14
展开全部
ctrl+esc和windows徽标键是等价的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式