通过程序模拟鼠标按下

前几天在坛子里看到大概有类似的要求,所以整理一份正在CE6.0下使用的源代码,供大家参考。

 1 #define SCREEN_WIDTH    800   // 屏幕宽度  
 2 #define SCREEN_HEIGHT   480   // 屏幕高度  
 3 static void EmuMouseEvent(UINT uiMsg, int iX, int iY)  
 4 {  
 5     int iCmd = 0;  
 6   
 7     switch(uiMsg)  
 8     {  
 9     case WM_LBUTTONDOWN:  
10         iCmd = MOUSEEVENTF_LEFTDOWN;  
11         break;  
12     case WM_LBUTTONUP:  
13         iCmd = MOUSEEVENTF_LEFTUP;  
14         break;  
15     case WM_MOUSEMOVE:  
16         iCmd = MOUSEEVENTF_MOVE;  
17         break;  
18     default:  
19         return;  
20     }  
21   
22     mouse_event(MOUSEEVENTF_ABSOLUTE | iCmd,iX * 0xFFFF / SCREEN_WIDTH,iY * 0xFFFF / SCREEN_HEIGHT,0,0);  
23 }  

调用方法: 

1 EmuMouseEvent(WM_LBUTTONDOWN, 626, 26);  
2 EmuMouseEvent(WM_LBUTTONUP, 626, 26);

此时,哪个窗口在最前面,就会接收到鼠标消息。如果(626,26)下是按键,则按键事件会被响应。

posted @ 2016-02-22 11:48  91program  阅读(446)  评论(0编辑  收藏  举报