模拟鼠标键盘

keybd_event函数模拟键盘输入 详见:http://baike.baidu.com/view/1080077.html

//示例代码

keybd_event(VK_NUMLOCK,0,KEYEVENTF_EXTENDEDKEY | 0,0 );//按下num
keybd_event( VK_NUMLOCK,0,KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0);//取消按下num


keybd_event( VK_LWIN,  0,  0 , 0 ); //按下WIN键      
keybd_event( VK_LWIN,  0,   KEYEVENTF_KEYUP, 0 ); //弹起WIN键   



SendInput
模拟键盘输入示例   详见 http://baike.baidu.com/view/1471905.html


//示例代码

INPUT ip[2];
memset(ip,0,sizeof(INPUT));
ip[0].type=ip[1].type=INPUT_KEYBOARD;
ip[0].ki.wVk=ip[1].ki.wVk=VK_NUMLOCK;
ip[1].ki.dwFlags=KEYEVENTF_KEYUP;
SendInput(2,ip,sizeof(INPUT));



INPUT keyInput[2];
memset( keyInput,
0, sizeof( keyInput ) );
keyInput[
0].type = keyInput[1].type = INPUT_KEYBOARD;  //设置为键盘输入
keyInput[0].ki.wVk = keyInput[1].ki.wVk = VK_LWIN;  //操作WIN键
keyInput[1].ki.dwFlags  = KEYEVENTF_KEYUP; //弹起
SendInput( 2,keyInput, sizeof( INPUT ) );



mouse_event
模拟鼠标输入 详见 http://baike.baidu.com/view/1080208.htm


//示例代码
SetCursorPos( 0,  880 );    //将当前鼠标位置设置到开始菜单位置
mouse_event( MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN,  0, 0, 0, NULL );  //模拟左键按下
mouse_event( MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, 0,  0, 0, NULL );    //模拟左键弹起




SendInput模拟鼠标输入
//示例

SetCursorPos( 0,  880 );  //将当前鼠标位置设置到开始菜单位置
INPUT mouseInput[2];
memset( mouseInput,
0, sizeof( mouseInput ) );
mouseInput[
0].type = mouseInput[1].type = INPUT_MOUSE;       //设置为鼠标输入
mouseInput[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN;  //左键按下
mouseInput[1].mi.dwFlags  = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP;  //左键弹起
SendInput( 2,mouseInput, sizeof( INPUT ) );

posted @ 2009-12-17 14:07  BuildNewApp  阅读(198)  评论(0编辑  收藏  举报