VC编程技巧2 .

 

鼠标

设置和获取鼠标双击的时间 默认500ms

SetDoubleClickTime(UINT uInterval)

GetDoubleClickTime()

 

获取鼠标双击相应范围:

GetSystemMetrics(SM_CXDOUBLECLK)

GetSystemMetrics(SM_CYDOUBLECLK)

 

限制和取消鼠标活动范围:

ClipCursor(RECT* lpRect);

ClipCursor(NULL);//取消

 

设置和获取鼠标位置(屏幕坐标):

       SetCursorPos

GetCursorPos//获取

 

显示和隐藏鼠标:

       ShowCursorBOOL bShow);//True为显示,反之为隐藏

 

获取鼠标按键个数

GetSystemMetrics(SM_CMOUSEBUTTONS)

 

鼠标是否有滚轮:

BOOL GetSystemMetrics(SM_MOUSEWHEELPRESENT)

 

系统是否安装有鼠标:

GetSystemMetrics(SM_MOUSEPRESENT)

 

鼠标左右键是否交换:

GetSystemMetrics(SM_SWAPBUTTON)

 

禁止鼠标左右键进行交换:

HKEY hKey;

LPCTSTR StrKey="Control Panel//Mouse";

if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_CURRENT_USER,StrKey,NULL,KEY_ALL_ACCESS

,&hKey)){

                   CString  Value="0";

                   LPCSTR KeyValue="SwapMouseButtons";

                   if (ERROR_SUCCESS==::RegSetValueEx(hKey,(LPCTSTR)KeyValue,0,REG_SZ,

(BYTE *)(LPCSTR)Value,strlen(Value)+1))

                   {                

                            MessageBox("禁止对鼠标的左右键功能进行调换设置成功","信息提示",MB_OK);

                   }

                   ::RegCloseKey(hKey);}

禁止使用鼠标滚轮:

HKEY hKey;

         LPCTSTR StrKey="Control Panel//Desktop";

         if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_CURRENT_USER,StrKey,NULL,

KEY_ALL_ACCESS,&hKey))

         {

                   CString  Value="0";

                   LPCSTR KeyValue="WheelScrollLines";

                   if (ERROR_SUCCESS==::RegSetValueEx(hKey,(LPCTSTR)KeyValue,0,REG_SZ,

(BYTE *)(LPCSTR)Value,strlen(Value)+1))

                   {                

                            MessageBox("禁止使用鼠标滚轮设置成功","信息提示",MB_OK);

                   }

                   ::RegCloseKey(hKey);

         }      

 

模拟鼠标运行:

VOID mouse_event(DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData, DWORD dwExtraInfo );

MOUSEEVENTF_ABSOLUTE

MOUSEEVENTF_MOVE

MOUSEEVENTF_LEFTDOWN

MOUSEEVENTF_LEFTUP

MOUSEEVENTF_RIGHTDOWN

MOUSEEVENTF_RIGHTUP

MOUSEEVENTF_TOUCH

MOUSEEVENTF_MIDDLEDOWN

MOUSEEVENTF_WHEEL

MOUSEEVENTF_MIDDLEUP


键盘

判断虚键是否按下:

       WM_KEYDOWN消息

       VK_LEFT,VK_RIGHT,VK_HOME,VK_END,VK_PRIOR//UP,VK_NEXT//Down

 

设置键盘响应速度:

HKEY hKey;

       LPCTSTR StrKey="Control Panel//Keyboard";

       if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_CURRENT_USER,StrKey,NULL,

KEY_ALL_ACCESS,&hKey))

       {

              CString  Value="50";

              LPCSTR KeyValue="KeyboardSpeed";

              if (ERROR_SUCCESS==::RegSetValueEx(hKey,(LPCTSTR)KeyValue,0,

REG_SZ,(BYTE *)(LPCSTR)Value,strlen(Value)+1))

              {           

                     MessageBox("设置键盘响应速度操作成功","信息提示",MB_OK);

              }

              ::RegCloseKey(hKey);

       }    

 

按回车焦点到下一个窗口:

void CMyEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)

{

       if(nChar==VK_RETURN)

       {

              CDialog *pWnd=(CDialog*)GetParent();

              pWnd->NextDlgCtrl();

       }

       CEdit::OnKeyDown(nChar, nRepCnt, nFlags);

}

 

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值