我把模拟键盘输入的如下代码放在dll中.
::keybd_event(49,1,0,0);
::keybd_event(49,1,KEYEVENTF_KEYUP,0);//按1在另一程序中向dll传递记事本程序的句柄.达到模拟输入的效果.请问,可否通过sendmessage函数实现keybd_event的一样的功能?sendmessage应该怎么写呢,::SendMessage(g_hWnd,WM_CHAR,49,0);//我是这么写的,可是不行.最主要是想问:为什么在记事本里面keybd_event好用,在其他游戏,比如,实况足球啦,NBA什么的,拳皇模拟器什么的,模拟按键,为什么不好用呢?
::keybd_event(49,1,0,0);
::keybd_event(49,1,KEYEVENTF_KEYUP,0);//按1在另一程序中向dll传递记事本程序的句柄.达到模拟输入的效果.请问,可否通过sendmessage函数实现keybd_event的一样的功能?sendmessage应该怎么写呢,::SendMessage(g_hWnd,WM_CHAR,49,0);//我是这么写的,可是不行.最主要是想问:为什么在记事本里面keybd_event好用,在其他游戏,比如,实况足球啦,NBA什么的,拳皇模拟器什么的,模拟按键,为什么不好用呢?
{
t = *( str + i );
if( t >= 'a' && t <= 'z' )
{
::SendMessage( hwnd, WM_KEYDOWN, ( WPARAM )( t + 0x20 ), 0x001f0001 );
}
else
{
::SendMessage( hwnd, WM_KEYDOWN, ( WPARAM )( t ), 0x001f0001 );
}
::SendMessage( hwnd, WM_CHAR, ( WPARAM )( t ), 0x001f0001 );
::SendMessage( hwnd, WM_KEYUP, ( WPARAM )( t ), 0xc01f0001 );
}这是我以前写的往一个ide中输入脚本的代码。
::SendMessage(hWnd,WM_LBUTTONDOWN,0,(0x00400000 | 0x0010)); 请问,第四个参数,什么意思?
::SendMessage(hWnd,WM_LBUTTONDOWN,0,(0x00400000 ¦ 0x0010)); 请问,第四个参数,什么意思?
高位为鼠标X坐标
低位为鼠标Y坐标