『楼 主』:
[分享]创建虚拟的系统热键
Windows 系统中 按 CTRL+ALT+DEL 能弹出任务管理器,那我们能不能自己定义一些热键呢?
结果很失望,取网上查说是注册表里没有,要什么 HOOK 才行,就是必须要开一个应用程序才能实现。
不过我可以实现相同功能,自己机器上屡试不爽,什么截屏、游戏的哈哈。
具体的办法是借助系统为快捷方式提供的热键来达到目的。
下面是 VBSCRIPT 代码,保存为 .VBS 文件,相关的注释都添加到代码里面了:
'┌───────────────┐
'│ 创建“系统热键” │
'│ │
'│ (P)&(C)2009 『据说是李先生』 │
'└───────────────┘
set ching = createobject("wscript.shell")
set fso = createobject("scripting.filesystemobject")
'***根据微软说明,只有当快捷方式放在桌面(Desktop)或者「开始」菜单(StartMenu) 中时热键才有效。
' 热键一般为 Ctrl、Alt、Shift、0-9、A-Z(不区分大小写)、F1-F12 的组合。
' 注意自定义的热键不要覆盖系统本身的,例如 CTRL+C ,或者是直接一个字母比如 Q 等,
' 建议以Ctrl+Alt 开头,以免发生不必要的麻烦。
'创建快捷方式的函数,默认为放在开始菜单下面。
' 调用方式
' CreateHotKey "快捷键", "目标可执行文件绝对路径", "快捷方式文件名称"
Function CreateHotKey(HotKey, TargetFile, LinkFile)
LinkFile = ching.specialfolders("startmenu") & "\" & LinkFile & ".lnk"
'如果存在原文件则不能成功的创建,需要先删除。
if fso.fileexists(LinkFile) then fso.deletefile(LinkFile)
with ching.createshortcut(LinkFile)
.TargetPath = TargetFile
.Hotkey = HotKey
.WindowStyle = 1
.IconLocation = TargetFile & ",0"
.Description = ""
.WorkingDirectory = ""
.Save
end with
'为了美观,将这个快捷方式隐藏,也可以去掉下面这行。
fso.getfile(LinkFile).attributes = 2
End Function
'**** 下面是一些实例,路径根据自己的实际情况更改 *****
' Ctrl + Q ----截屏
' 不在组合中使用 Alt 是为了更大的兼容性地截取图像,因为有右键弹出菜单时 Alt 会使弹出菜单消失。
CreateHotKey "Ctrl+Q", "D:\Program files\Mini Plugin\SnapShot\SnapShot.exe", "SnapShot"
' Ctrl + W ----CMD命令行窗口
CreateHotKey "Ctrl+W", "%systemroot%\system32\cmd.exe", "CMD"
' Ctrl + Alt + Q ----腾讯QQ
CreateHotKey "Ctrl+Alt+Q", "D:\Program files\Tencent\QQ2009\Bin\QQ.exe", "腾讯QQ"
' Ctrl + Alt + W ----魔兽争霸
CreateHotKey "Ctrl+Alt+W", "D:\Warcraft III\Frozen Throne.exe", "Frozen Throne" 注意:不知道是我机器问题还是怎么的,重启过后它就不认识了,所以建议把这个脚本放到启动文件夹里面,反正一点也不耗资源。
附带:一个截屏软件,从 腾讯浏览器提取出来的,点此下载 SnapShot
附件
1: 启动后要做的.zip (2009-8-4 02:22, 1.24 K,下载次数: 30)
|