能力值:
( LV2,RANK:10 )
|
-
-
2 楼
首先你有没有获取游戏窗口句柄呢?
Gameh=::FindWindow(NULL,"XX游戏");//获取游戏窗口句柄
if (Gameh==NULL)
{
MessageBox("请先打开游戏!");
return;
}
然后是你OnTimer函数里你说是用循环的,但是代码中没看到有循环的代码
OnTimer里干嘛用循环呢?
你想让这个函数独占CPU吗? 这好像不行的吧
你用sleep(1000),是想用定时的操作吗,
我觉得用定时器更好啊,你的Ontimer本来就是响应定时器的函数
void CMy2Dlg::OnButton1()
{
SetTimer(1,1000,NULL); //每秒发送一次请求给OnTimer函数
}
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
用 setwindowpos
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我把上下的顺序弄乱了。。。
|
能力值:
( LV9,RANK:140 )
|
-
-
5 楼
::SetCursorPos( 0, 0 );
mouse_event( MOUSEEVENTF_LEFTDOWN, Point.x, Point.y, 0, 0 );
mouse_event( MOUSEEVENTF_LEFTUP, Point.x, Point.y, 0, 0 );
或者
mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );
mouse_event( MOUSEEVENTF_LEFTDOWN, Point.x, Point.y, 0, 0 );
mouse_event( MOUSEEVENTF_LEFTUP, Point.x, Point.y, 0, 0 );
你也可以先获得点击子控件的窗口句柄hwnd,然后
::PostMessage( hwnd ,WM_LBUTTONDOWN,NULL ,NULL); // 用来获取焦点
::PostMessage( hwnd ,WM_LBUTTONDOWN,NULL ,NULL); // 下
::PostMessage( hwnd ,WM_LBUTTONUP,NULL ,NULL); // 上
或:
::SendMessage( hwnd, BM_CLICK, 0, 0 );
或:
::PostMessage( ::GetParent( hwndChild ), WM_COMMAND, (WPARAM)::GetWindowLong( hwndChild, GWL_ID ), ( LPARAM ) ( hwndChild ) );
获取子控件窗口句柄用::FindWindowEx
|