是不是那个程序没有restore按钮?
ShowWindow(HwdWindow, SW_RESTORE|SW_SHOW)试试
实在不行再加上SetForegroundWindow()
ShowWindow(HwdWindow, SW_RESTORE|SW_SHOW)试试
实在不行再加上SetForegroundWindow()
解决方案 »
- 怎样获取邮箱里面未读邮件的数目?
- error C2065: 'MYSQL' : undeclared identifier
- 我需要开发一款图形绘制编辑软件,哪位高人能告诉我有哪些开源的图形绘制软件可以参考 ?
- 请问:对话框中如何加入工具条和状态条?
- 一个关于断言出错的问题,请进!
- CString 如何转换成时间类型time_t
- 一个游戏是不是就只有一个主窗口,里面弹的对话框这些都是画出来的
- 哪里有vc++7下载,请大侠帮忙,QQ:55994540发给我谢谢!
- 数据库高手近来看看,一个学习的好机会
- 已获取到IWebBrowser2 接口 当当前窗口发生刷新, 重定向,ajax内容更改,我需要怎么实现当前IHTMLDocument2接口的更新?
- 如何得到滚动条的指针??
- 有关stdafx.h和windows.h两个头文件的问题,各位大侠帮帮忙呀!!!!!!!!
后,LngRes>0表明该语句是成功执行了的,但却好象没有执行一样!
是不是根本就没捕获到它的窗口?
应该是没捕获到它的窗口了,因为如果这个程序没有被最小化时用
LngRes = SetForegroundWindow(HwdWindow) 是能将它设置为当前活动窗口的(如果最小化就不行)
这么奇怪啊,呵呵
可能那个程序本身对SW_RESTORE进行了处理了吧
要不就是捕获的那个窗口不是程序的主窗口???
还是没用,怪啊,然而最小化后我也在任务栏上的看到它啊。
得到他的父窗口,
如果再GetParent()==HWND_DESKTOP,那就是主窗体了
{
HWND hToFind = ::FindWindow(NULL,_T("MyWindow"));
if(hToFind==NULL)
return FALSE;
HWND hCurWnd = NULL;
DWORD dwMyID;
DWORD dwCurID; hCurWnd = ::GetForegroundWindow();
dwMyID = ::GetCurrentThreadId();
dwCurID = ::GetWindowThreadProcessId(hCurWnd, NULL);
::AttachThreadInput( dwMyID, dwCurID, TRUE);
::SetForegroundWindow( hToFind );
::AttachThreadInput( dwMyID, dwCurID, FALSE);
return TRUE;}上面方法就能真正意义上激活窗口了。WIN9X、ME、NT、2K上测试都通过:)FindWindow不好在窗口标题不固定或者不确定时候找不到窗口。要是你先::SetProp(HWND hWnd,char* str)做过标记就好说了....
想到另一问题:使用FindWindow()怎样用类名参数进行查找,MFC的类名总是
afx::::之类的形式,如何使用
这样找到的就是IE的上一个实例