檢測滑鼠按鈕 左右鍵 是否交換

2021-06-22 08:31:52 字數 909 閱讀 1786



假設的應用場景:

當hook住滑鼠按鈕被按下的事件時, 要先執行滑鼠按鈕被按下的自定義處理,再轉到處理滑鼠被按下的事件.

假設自定義處理為: 將滑鼠游標所在的按鈕禁止和隱藏.

實現流程:

* 得到滑鼠游標所在位置的子窗體控制代碼, 判斷該子窗體(視窗類名,視窗文字, 視窗風格...)是否是我們要處理的按鈕.

* 如果是要處理的按鈕, 再判斷該滑鼠是按下還是彈出選單, 如果滑鼠為按下, 才去執行自定義處理.

這時遇到的問題是, 使用者有可能交換了滑鼠的左右鍵. 如果沒交換滑鼠左右鍵, 滑鼠左鍵是按下的動作, 滑鼠右鍵是彈出選單.

在msdn上有個例子,可以解決"滑鼠左右鍵是否已經交換"的問題~

[cpp]view plain

copy

print?

/// @file       testmouseswap.cpp

/// @brief      判斷滑鼠鍵是否被使用者設定成"左右鍵交換"

#include "stdafx.h"

#include 

#include 

/// @fn         ismouseswap

/// @brief      測試滑鼠左右鍵是否已經交換

/// @param      void

/// @return     boolen, true = 滑鼠左右鍵已經交換, false = 滑鼠左右鍵沒有交換

/// @note       如果滑鼠左右鍵沒有交換, 滑鼠左鍵是按下, 滑鼠右鍵是彈出選單

bool    ismouseswap();  

int _tmain(int argc, _tchar* argv)  

bool    ismouseswap()    

VC 交換滑鼠左右鍵

mfc介面設計兩個button,乙個static text 首先應檢測是否有滑鼠或者滑鼠按鍵是否已交換,類中宣告ismousebuttonswap 函式 注意,膝上型電腦的觸控板也會被系統認為是滑鼠。檢測滑鼠左右鍵是否交換,返回 1表示未檢測到滑鼠,返回0表示未交換,返回1表示已交換 int csw...

滑鼠左 右鍵失靈

在我的實際需求中要求乙個可移動的canvas,因此我在在canvas外層加了個自己實現的可移動的彈窗父元件。要求右鍵移動彈窗,左鍵塗鴉,同時遮蔽右鍵選單欄。父元件 當右鍵被按下時,執行拖拽操作 實現移動端拖拽 down else this position.x touch.clientx this ...

iMouse 快速切換滑鼠左右鍵

此blog是imouse軟體的官網 是鍵盤上數字 1 左邊的鍵 切換左右鍵。說明 1.支援win xp vista win 7 win 8。2.軟體大小 16kb,md5值 e6ef7c38987066d846526f5ba78e6a7b。3.此軟體百分百無毒,請注意核對md5。為了有效減小軟體大小...