中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [分享]创建虚拟的系统热键 上一主题 | 下一主题
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『楼 主』:  [分享]创建虚拟的系统热键

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)
2009-8-4 02:22
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: