首页
社区
课程
招聘
[求助]为什么窗口不能置前 (VC编程)?
发表于: 2007-6-9 16:19 8187

[求助]为什么窗口不能置前 (VC编程)?

2007-6-9 16:19
8187
比如,我想将已运行的记事本程序激活,并弹出其窗口,采用如下代码:

HWND hWnd=::FindWindow(NULL,"无标题 - 记事本");
if(hWnd!=NULL)
{
        hWnd=::FindWindow(NULL,"无标题 - 记事本");
        ::SetForegroundWindow(hWnd);
}

如果记事本在其它程序窗体的后面,可以弹到最前面上来,

但若记事本是最小化在任务栏上时,则运行上述程序后,可以看到记事本只是获得到了焦点,并没有弹出窗口到最前面来.,

用::BringWindowToTop(hWnd);也是一样的,

这是为啥,请高手指点,小弟谢谢了...

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
问题已解决,谢谢!
2007-6-9 20:35
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
怎么解决的,说一下
2007-6-18 15:54
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
很简单,对记事本发送一条WM_SYSCOMMAND消息,让它恢复窗口不就行了
2007-6-19 12:23
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
在::SetForegroundWindow(hWnd);前加上:
ShowWindow(hWnd,SW_RESTORE);
2007-6-19 17:32
0
雪    币: 401
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
SetWindowPos
2007-6-28 20:23
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
7
SetWindowPos
标志为所有窗口置顶
2007-6-29 08:34
0
游客
登录 | 注册 方可回帖
返回
//