在Windows大行其道的今天
一
Windows提供了一個API函數mouse_event
VOID mouse_event(
DWORD dwFlags
DWORD dx
DWORD dy
DWORD dwData
DWORD dwExtraInfo
//
);
第一個參數為代表所要模擬的鼠標消息
MOUSEEVENTF_MOVE 移動鼠標
MOUSEEVENTF_LEFTDOWN 模擬鼠標左鍵按下
MOUSEEVENTF_LEFTUP 模擬鼠標左鍵抬起
MOUSEEVENTF_RIGHTDOWN 模擬鼠標右鍵按下
MOUSEEVENTF_RIGHTUP 模擬鼠標右鍵抬起
MOUSEEVENTF_MIDDLEDOWN 模擬鼠標中鍵按下
MOUSEEVENTF_MIDDLEUP 模擬鼠標中鍵抬起
MOUSEEVENTF_ABSOLUTE 標示是否采用絕對坐標
第二三個參數分別表示鼠標的位置坐標x
下面是關於mouse_event的示例代碼
POINT lpPoint;
GetCursorPos(&lpPoint);
SetCursorPos(lpPoint
mouse_event(MOUSEEVENTF_LEFTDOWN
為了持續屏蔽系統的鼠標
二
三
/////////////////////////////////////線程函數
CMainFrame::CMainFrame()
{
HWND hWnd=::GetParent(NULL);
GetCursorPos(mp);
AfxBeginThread(FMouse
}
UINT FMouse(LPVOID param)
{
WINDOWPLACEMENT wp;///窗口位置
wp
HWND hWnd;
char tmp[
RECT rt;
int iResult;
iResult=AfxMessageBox(
if(iResult==IDOK)
{
while(
{
hWnd=GetForegroundWindow();//得到系統中最前端窗口的句柄
GetWindowRect(hWnd
GetWindowText(hWnd
GetWindowPlacement(hWnd
GetCursorPos(&cursorNew);//得到當前鼠標的位置
while(
::mouse_event(MOUSEEVENTF_MOVE
//模擬鼠標的移動
}
}
}
return
}
四
上述程序介紹了使用Windows的API函數mouse_event()來模擬鼠標的動作
VOID keybd_event(
BYTE bVk
BYTE bScan
DWORD dwFlags
DWORD dwExtraInfo // additional data associated with keystroke
);
從上述原型可以看出
keybd_event(
keybd_event(
From:http://tw.wingwit.com/Article/program/net/201311/13276.html