vc控制台下,已知另一窗口名称和句柄,如何激活?

我把mfc下的代码照搬过来激活不了窗口,GetWindowRect取得的窗口坐标也非常之大,::SetForegroundWindow(hWnd);::SwitchToT... 我把mfc下的代码照搬过来 激活不了窗口, GetWindowRect取得的窗口坐标也非常之大,
::SetForegroundWindow(hWnd);
::SwitchToThisWindow(hWnd);
::BringWindowToTop(hWnd);
这三个我都试过了好像都不行。。求助
POINT lpPoint1,lpPoint2;
CRect rc;
HWND hWnd;
while(NULL!=(hWnd=::FindWindow(NULL, (LPCWSTR)"获取真实IP")))
{
Sleep(5000);
}
::GetWindowRect(hWnd,&rc);
lpPoint1.x = rc.left+75; //75,90 75 120
lpPoint1.y = rc.top+90;
lpPoint2.x = rc.left+75;
lpPoint2.y = rc.top+120;
//::SetForegroundWindow(hWnd);
//::SwitchToThisWindow(hWnd);
::BringWindowToTop(hWnd);
Sleep(5000);
SetCursorPos(lpPoint1.x, lpPoint1.y);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

窗口没有激活, 而且鼠标点的位置也不对,点到桌面的最左下角了,
展开
 我来答
子龙奶爸
2012-09-17 · TA获得超过1009个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:223万
展开全部
你有试过把
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
注释掉吗?
SetForegroundWindow一般这个就可以了,
还有个函数是SetWindowPos,
是不是你鼠标模式事件因为点的不是这个窗口,原来激活的又被去掉了?
更多追问追答
追问
这段代码放在mfc里是正常的, 鼠标模式没问题的, 但是放在控制台程序里 ::GetWindowRect(hWnd,&rc);获取的坐标就不对了。。
追答
窗口激活问题还有吗?
那就换个函数啊,试试GetWindowRgn?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式