找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14732|回复: 5

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

[复制链接]
发表于 2021-2-1 17:40:35 | 显示全部楼层 |阅读模式
代码如下(运行可以):
  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
复制代码
发表于 2021-2-1 21:30:02 | 显示全部楼层
  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 码位
 楼主| 发表于 2021-2-2 11:54:13 | 显示全部楼层
本帖最后由 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,谢谢~
 楼主| 发表于 2021-2-2 11:57:49 | 显示全部楼层
有个图片解释:
 楼主| 发表于 2021-2-2 19:30:58 | 显示全部楼层
参照以上两位大佬的代码,经过验证代码也可以如下:
Set oShell = CreateObject("Shell.Application")
Set oShellLinkObject = oShell.NameSpace("C:\").ParseName("56.lnk").GetLink
oShellLinkObject.Hotkey = 1024 + 512 + 187
oShellLinkObject.Save()
发表于 2021-2-2 20:42:17 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:23 , Processed in 0.018063 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表