给送消息到当前活动窗口
我写的代码是这样的:
hWindow = GetForegroundWindow();
switch( pElements->pProperties->vValue.ulVal )
{
case VID_LEFT:
SendMessage( hWindow, WM_KEYDOWN, VK_LEFT, 0 );
SendMessage( hWindow, WM_KEYUP, VK_LEFT, 0 );
break;
case VID_RIGHT:
SendMessage( hWindow, WM_KEYDOWN, VK_RIGHT, 0 );
SendMessage( hWindow, WM_KEYUP, VK_RIGHT, 0 );
break;
}
用GetForegroundWindow我在spy++中看好象是对的
不过不知道为什么消息发不过去,比如是资源管理器的窗口
[解决办法]
我写的代码是这样的:
hWindow = GetForegroundWindow();
switch( pElements- >pProperties- >vValue.ulVal )
{
case VID_LEFT:
SendMessage( hWindow, WM_KEYDOWN, VK_LEFT, 0 );
SendMessage( hWindow, WM_KEYUP, VK_LEFT, 0 );
break;
case VID_RIGHT:
SendMessage( hWindow, WM_KEYDOWN, VK_RIGHT, 0 );
SendMessage( hWindow, WM_KEYUP, VK_RIGHT, 0 );
break;
}
用GetForegroundWindow我在spy++中看好象是对的
不过不知道为什么消息发不过去,比如是资源管理器的窗口
======================
你可以发送一个简单的消息,测试一下,有没有发送过,如窗口最大化,最小化或关闭什么的消息.
如果发送过去了,就说明你的SendMessage( hWindow, WM_KEYDOWN, VK_LEFT, 0 );
SendMessage( hWindow, WM_KEYUP, VK_LEFT, 0 ); 有问题.