📄 subject_36962.htm
字号:
<p>
序号:36962 发表者:李岩飞 发表日期:2003-04-20 12:23:31
<br>主题:如何控制,让其他程序中失去焦点的窗口高亮度显示在屏幕的最前面
<br>内容:如题
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:最后疯狂 回复日期:2003-04-20 17:11:39
<br>内容:创建一个顶层窗口即可。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:李岩飞 回复日期:2003-04-20 17:56:36
<br>内容:情况这样:<BR>要写一个程序,主窗口隐藏了,只有托盘区有图标,当某条件满足时,比如收到网络远端的信号,这个程序的主窗口就被激活显示在屏幕最前面了,该怎么做到这一点啊? <BR>我可以让该窗口显示并设置为最顶层,但是却被最小化到任务栏上了,除非我用鼠标点一下,窗口才能得到焦点,怎么办呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:最后疯狂 回复日期:2003-04-20 18:13:20
<br>内容:很简单:<BR><BR>1、当收以远端信号时,使用ShowWindow(SW_SHOW)使主窗口显示;<BR>2、使用Shell_NotifyIcon()让系统托盘中的进程图标消失;<BR><BR>当处理完毕后,<BR><BR>1、使用ShowWindow(SW_HIDE)让主窗口隐藏;<BR>2、使用Shell_NotifyIcon()再次把进程的图标显示在系统托盘。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:李岩飞 回复日期:2003-04-20 18:45:07
<br>内容:谢谢最后疯狂的回复。<BR>这个窗口在init时已被设置为始终在最顶层。<BR>可是收到远端信号时我正在其他程序上做其他事情啊,ShowWindow(SW_SHOW)之后这个窗口并没有如我所愿的跑到屏幕最顶层,而是最小化到任务栏上去了。<BR><BR>一句话,ShowWIndow(SW_SHOW)之后怎么让该窗口得到焦点?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:luowen 回复日期:2003-04-20 19:02:59
<br>内容:你可以设定焦点:用函数:setfocus(),SetForegroundWindow();
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:最后疯狂 回复日期:2003-04-20 19:20:39
<br>内容:对不起,这个我也不知道。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:李岩飞 回复日期:2003-04-20 20:03:32
<br>内容:谢谢luowen的回复。<BR>我试了这两个函数,运行后在该窗口仍然是最小化状态,只在任务栏上高亮度闪烁,仍然没有在屏幕中间正常显示出来啊,除非用鼠标点任务栏上的该窗口的任务条。<BR><BR>这个问题的关键是:不管我当前在电脑上干什么,只要这个程序被触发,就要让这个程序的窗口显示在屏幕最顶层!可以想象,如果触发之前我点击了快捷图标“显示桌面”,然后什么也不做,这时该程序被网络远端悄悄触发了,怎么显示该程序的窗口到最顶层啊。<BR>类似于某些黑客程序。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:李岩飞 回复日期:2003-04-20 20:08:53
<br>内容:对不起,其实很简单,就是ShowWindow(SW_SHOW)就可以的。<BR>我忘了之前我把下面注释了,呵呵<BR>if ( GetExStyle() != WS_EX_TOPMOST )<BR> {<BR>// SetWindowPos(&wndTopMost, 0, 0, 0, 0,SWP_NOSIZE | SWP_NOMOVE);<BR> }<BR><BR>取消注释就可以了。呵呵
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:最后疯狂 回复日期:2003-04-21 03:10:23
<br>内容:ShowWindow()就把程序调到前台了吧?呵呵
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -