[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] vbs在设置快捷方式的快捷键时如何引用非字母数字符号如=-,/

代码如下(运行可以):
  1. set WshShell=Wscript.CreateObject("Wscript.Shell")
  2. set oShellLink=WshShell.CreateShortcut("C:\56.lnk")
  3. oShellLink.Hotkey="Ctrl+Alt+8"
  4. oShellLink.Save
复制代码
代码如下(想用Ctrl+Alt+一个等号来做快捷键,但运行不可以):
  1. set WshShell=Wscript.CreateObject("Wscript.Shell")
  2. set oShellLink=WshShell.CreateShortcut("C:\56.lnk")
  3. oShellLink.Hotkey="Ctrl+Alt+="
  4. oShellLink.Save
复制代码

  1. set WshShell=CreateObject("Wscript.Shell")
  2. set oShellLink=WshShell.CreateShortcut("D:\56.lnk")
  3. oShellLink.Save
  4. Set oShell = CreateObject("Shell.Application")
  5. Set oLink = oShell.NameSpace("D:\").ParseName("56.lnk").GetLink
  6. oLink.HotKey = 1024 + 512 + 187
  7. oLink.Save
复制代码
0000011010111011
按照巨硬的Shell.Application文档说明,从右往左数,低8位(187)为"="的虚拟键码位,第9、10、11位分别为 shift、ctrl、alt 码位

TOP

本帖最后由 sunvi 于 2021-2-2 19:18 编辑

感谢2楼的代码,运行可以。
昨晚请教了本论坛大佬czjt1234,也得以解决,他的代码如下,运行可以,共勉:
Set oShell = CreateObject("Shell.Application")
Set oShellLinkObject = oShell.NameSpace("C:\").ParseName("56.lnk").GetLink
oShellLinkObject.Hotkey = &H0EBB
oShellLinkObject.Save()
在此感谢大佬czjt1234,谢谢~

TOP

有个图片解释:

TOP

参照以上两位大佬的代码,经过验证代码也可以如下:
Set oShell = CreateObject("Shell.Application")
Set oShellLinkObject = oShell.NameSpace("C:\").ParseName("56.lnk").GetLink
oShellLinkObject.Hotkey = 1024 + 512 + 187
oShellLinkObject.Save()

TOP

TOP

返回列表