检测鼠标按钮(左右键)是否交换
假设的应用场景:
当hook住鼠标按钮被按下的事件时, 要先执行鼠标按钮被按下的自定义处理,再转到处理鼠标被按下的事件.
假设自定义处理为: 将鼠标光标所在的按钮禁止和隐藏.
实现流程:
* 得到鼠标光标所在位置的子窗体句柄, 判断该子窗体(窗口类名,窗口文本, 窗口风格...)是否是我们要处理的按钮.
* 如果是要处理的按钮, 再判断该鼠标是按下还是弹出菜单, 如果鼠标为按下, 才去执行自定义处理.
这时遇到的问题是, 用户有可能交换了鼠标的左右键. 如果没交换鼠标左右键, 鼠标左键是按下的动作, 鼠标右键是弹出菜单.
在msdn上有个例子,可以解决"鼠标左右键是否已经交换"的问题~
- /// @file testMouseSwap.cpp
- /// @brief 判断鼠标键是否被用户设置成"左右键交换"
- #include "stdafx.h"
- #include <Windows.h>
- #include <tchar.h>
- /// @fn IsMouseSwap
- /// @brief 测试鼠标左右键是否已经交换
- /// @param void
- /// @return boolen, true = 鼠标左右键已经交换, false = 鼠标左右键没有交换
- /// @note 如果鼠标左右键没有交换, 鼠标左键是按下, 鼠标右键是弹出菜单
- bool IsMouseSwap();
- int _tmain(int argc, _TCHAR* argv[])
- {
- _tprintf(L"IsMouseSwap = %s\n", IsMouseSwap() ? L"TRUE" : L"FALSE");
- /** operating results
- IsMouseSwap = FALSE
- */
- /// @note 交换"鼠标左右键"之后的实验已经做过, IsMouseSwap()有效
- getchar();
- return 0;
- }
- bool IsMouseSwap()
- {
- int iRc = 0;
- iRc = GetSystemMetrics(SM_MOUSEPRESENT);
- if(0 == iRc)
- return false; ///< 鼠标没安装
- iRc = GetSystemMetrics(SM_SWAPBUTTON);
- return (0 == iRc) ? false : true;
- }
检测鼠标按钮(左右键)是否交换相关推荐
- 【原】简单的鼠标切换左右键(java版)
简单的鼠标切换左右键(java版) 0. 写在最前面 客户需要一个能切换左右键的小功能满足使用需要. 具体需要如下: 我需要一个独立运行的窗口,在其中输入数字x,按下"转换"按钮后 ...
- office 2007 鼠标、左右键失效
安装了office2003,升级到Office2007后,先打开一个word文件,切换出去,再切回来,鼠标失效,左右键在编辑区不能用. 网上搜索,找到原因是由于PowerDesigner12插件造成. ...
- VC++交换鼠标左右键
MFC界面设计两个Button,一个Static Text: 首先应检测是否有鼠标或者鼠标按键是否已交换,类中声明IsMouseButtonSwap()函数: 注意,笔记本电脑的触摸板也会被系统认为是 ...
- Mac鼠标左右键轻松互换
通常我们使用鼠标都是以左键为主键,但是也有一些人习惯以右键为主.那如何对左右键进行交换呢?今天小编为大家介绍一个轻松交换左右键的技巧,让你不在为不习惯左键而烦恼! 步骤1:单击菜单栏上的Apple徽标 ...
- Win11怎么进行左右键对调?
有些用户发现电脑的鼠标左右键对调了,想要改回去:有的朋友因为自己是手势习惯问题,想要把鼠标的左右键互换一下,方便自己进行操作.那么应该如何进行更改呢?还不清楚的小伙伴们不用担心,快跟着小编一起来看看吧 ...
- C语言恶作剧(1):交换鼠标左右键
# include <windows.h>int main(void) { SwapMouseButton(1);//反转鼠标左右键/*//(解决方法) SwapMouseButton(0 ...
- css 按钮固定在右上交_如何在iPad上交换左右鼠标按钮
css 按钮固定在右上交 With a mouse, you can "right-click" on your iPad-Apple calls this a "Sec ...
- Windows10专业版任务栏右下角按钮左键无效右键有效的问题的解决
我的电脑是当时从Windows7旗舰版自动升级到Windows10专业版的.前天,电脑开机时想要调节一下音量,发现任务栏右下角的那一群小图标左键全部失灵,把鼠标移动到图标上面有文字显示,右键点击也能够 ...
- php左键点改成左键点,window_win10怎么将鼠标左键设置为主键?win10鼠标左右键互换的技巧,当我们的鼠标使用一段时间之 - phpStudy...
win10怎么将鼠标左键设置为主键?win10鼠标左右键互换的技巧 当我们的鼠标使用一段时间之后,会由于左键经常按压而导致老化或者损坏,而对于突然间的损坏,又没有其他可以替代的鼠标时候,就需要对鼠标左 ...
最新文章
- android8.1内核编译,Android8.1.0安卓源码编译
- vue2.0 配置 选项 属性 方法 事件 ——速查
- RNN(Recurrent Neural Network)的几个难点
- Linux系统资源监控--linux命令、nmon和spotlight
- [react] render在什么时候会被触发?
- dazhilu飞鸽传书 2013 官方网站
- 解决ng界面长表达式(ui-set)
- 机器学习--线性回归(LinearRegression)
- choices相当于实现一个简化版的外键
- JQuery封装的ajax方法
- win桌面显示html,win10怎么把ie图标放桌面上 win10桌面添加ie浏览器图标的方法
- 解决NLPIR汉语分词系统init failed问题
- SSD_OneStage
- 如何通过路由器部署IPv6环境(上篇)
- 计算机优质书籍搜集(持续更新)
- ulpfec,flexFec,Pro-MPEG cop3协议对比
- ubuntu添加并查看 用户组和用户
- 9-2 time类的加工
- 数据挖掘概念与技术13--BUC
- mobl:针对移动Web开发的“.NET研究”DSL
热门文章
- VR多人协同演示(2)
- android 复制 粘贴 功能实现
- java 鱼刺图_Java JSR-133 因果关系中 6.3.1的例子为什么会出现r1==r2==1呢?
- 建设成为世界第五大经济体 破解阿里云生态密码
- 头戴式耳机适合运动吗、五款最适合运动的耳机分享
- 珍藏已久的6个资源网站,每天让你不愁找不到资源,你值得拥有
- pytorch手动实现滑动窗口操作,论fold和unfold函数的使用
- js将图片转换成base64
- java getdocument_getDocument
- ELK 安装Beat