register hotkey

起因

之前的TIM登不上去了,不得已下载了最新版本的TIM,之后它就告诉我,我的CTRL+ALT+S已经被注册了,我记得很久以前我把这个快捷键赋值给了everything的快捷方式,但之后不知道为什么,这个快捷方式用不了了.

经过

然后我产生了两个疑问,

  1. 现在是谁在占用这个快捷方式?
  2. TIM是如何得知这个快捷方式已经被占用的呢?

关于问题2

查了查得到了第二个问题的答案: 可以用windows.h提供的RegisterHotkey,如果传入相应参数而函数返回false的话,就可以知道该快捷键已经被占用了.

关于问题1

之后关于第一个问题做了一些尝试:

  1. 在桌面快捷方式的属性页面中的快捷键更改,之后执行快捷键,此时可以打开快捷方式指向的文件.
  2. 将之前设定的快捷键取消,发现还是可以使用之前设定的快捷键打开该文件
  3. 重新按照1进行操作,将设定好的快捷键删除,发现该快捷键已被注销
  4. 关闭explorer.exe,发现桌面快捷方式的快捷键是通过explorer.exe注册的并且更新有延迟.

以上过程中RegisterHotKey的返回结果和实际使用该快捷键是否能打开相应文件的结果相同,有人说spy++可以查看,我试了下,有道词典注册的CTRL+ALT+MCTRL+ALT+X就根本截取不到,应该是没有通过WM_HOTKEY的消息.

结果

不懂的问题太多了呢!

register hotkey相关推荐

  1. Qt/PyQt中使用系统全局的快捷键

    Qt/PyQt中使用系统全局的快捷键 除了全局快捷键部分外,其他的都比较简单,都是我实现"onekeycodehighlighter"中碰到的一些小问题,这里顺面整理一下.事实上, ...

  2. Windows桌面切换VC代码

    用向导建立一个Win32程序"hello, world!",然后用下面的内容替换整个CPP文件内容就可以了 #include "stdafx.h" #inclu ...

  3. 键盘组合键映射_如何在键盘上重新映射Office键

    键盘组合键映射 The Office Key is a new key that you'll find on Microsoft keyboards. It lets you quickly lau ...

  4. python - 跨平台全局快捷键解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址: http://www.cosven.com/2015/08/24/%E5%85%A8%E5%B1%80%E5%BF ...

  5. 浅析C语言的一个关键字——register

    1.register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度.例如下面的内存块拷贝代码, /* Procedure for the as ...

  6. Failed to register Grid Infrastructure type ora.mdns.type

    安装11g的集群软件的时候,在最后运行root.sh脚本时候,没有执行成功,最后提示如下错误: [root@r2 ~]# /u01/app/11.2.0/grid_1/root.sh Performi ...

  7. thinkpad e40 热键hotkey失效解决办法

    为什么80%的码农都做不了架构师?>>>    双系统XP+UBUNTU,电脑突然不能使用热键. 在XP系统里按网上的方法各种尝试: 1)重装power manager电源管理驱动+ ...

  8. C语言register关键字—最快的关键字

    register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率.注意是尽可能,不是绝对.你想想,一个CPU 的寄存器也就那么几个或几十个,你要是定义了很 ...

  9. C语言中auto,register,static,const,volatile的区别

    1)auto 这个关键字用于声明变量的生存期为自动,即将不在任何类.结构.枚举.联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量.这个关键字不怎么多写,因为所有的变量默认就是aut ...

最新文章

  1. 2017前端框架何去何从
  2. C#访问SQLServer增删改查代码实例
  3. netty 进程挂起_这可能是目前最透彻的Netty原理架构解析
  4. php源代码compress,Php常见开源程序gzip网页压缩功能手动关闭或开启方法大全
  5. Linux的/etc/init.d:用service命令可执行init.d目录中相应服务的脚本
  6. .Net Cache
  7. iview table 方法若干
  8. 百度文库崩溃半小时:赶论文的网友也集体崩了
  9. android html拦截广告,广告见鬼去!两招让安卓告别网页广告
  10. java 与 php 区别或异同(整理、整合)
  11. jmeter导入已有的脚本_jmeter 开发导入excel脚本
  12. 【antd-design-vue】a-table取消组件自带的暂无数据图片
  13. PLC模拟量控制的3个要求
  14. AutoCAD2014的安装
  15. Win7连接网络打印机步骤
  16. 腾讯校招java面经_腾讯校招技术岗面试经历及总结(笔试-一面-二面-终面均通过)...
  17. 开发质量问题复盘总结-pua性质的标题
  18. 生信笔记:系统进化树的分类
  19. Gitlab集成Sonarqube实现自动检测代码并发送报告给提交者
  20. 【谷粒学院】微信支付功能案例笔记

热门文章

  1. 利用51单片机+HC-SR04+51单片机制造超声波测距模块
  2. 10-4 查找至少选修两门课程的学生学号
  3. 通往古埃及文明的钥匙 ———— 罗塞塔石碑
  4. android之微信开放平台修改签名
  5. Android开发:微信应用签名如何获取
  6. PHP写入txt文件换行
  7. wordpress文章页面添加版权信息的四种方法
  8. mac pdf去水印_PDF水印工具Mac版
  9. 关于结构化,半结构化,非结构化数据的理解
  10. 计算机基础知识(基础入门小白专属)二