VC++, 新建的窗口如何再次聚焦

以下是我代码中的部分(刚开始接触……)//hApp是预先找到的主窗口::SetForegroundWindow(hApp);//从主目录中快捷键执行文件--新建的命令,弹... 以下是我代码中的部分(刚开始接触……)
//hApp是预先找到的主窗口
::SetForegroundWindow(hApp);
//从主目录中快捷键执行文件--新建的命令,弹出新建窗口
keybd_event(VK_MENU,0,KEYEVENTF_EXTENDEDKEY|0,0);
keybd_event( 'F',0,KEYEVENTF_EXTENDEDKEY|0,0);
keybd_event( 'F',0,KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);
Sleep(2000);
keybd_event( 'N',0,KEYEVENTF_EXTENDEDKEY|0,0);
keybd_event( 'N',0,KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);
Sleep(2000);
keybd_event(VK_MENU,0,KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);
//至此通过菜单快捷键弹出新建窗口,我打算根据窗口类名再找到新建的窗口,这个窗口类名与其它窗口类名同名,我不知道是不是这个原因,通过WinSpy能找到窗口句柄008D0A96,但不清楚下一步
hASS=FindWindow("ThunderRT6PictureBoxDC",NULL)->m_hWnd;
::SetForegroundWindow(hASS);
//走到这一步应该可以将新建窗口聚焦了吧
//因为没有快捷键可用,只好调用鼠标单击事件
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
//最后的结果是新建的窗口仍是灰色的,未被聚焦
如果需要截图请加我QQ2358198944,问题很浅显,但因为是初学,请大家说的清晰一些,谢谢了!
展开
 我来答
RunningOn
2011-12-02 · TA获得超过983个赞
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:93.9万
展开全部
类名相同就不行了哈。
除了用类名,还可以用其它属性来找窗口的,比如标题和ID
你不是获得窗口ID了么,用它就可以了。
看这里:
http://www.cnitblog.com/ffan/archive/2007/11/29/37010.html
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式