窗口如何激活自己 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 窗口如何激活自己 (http://www.webasp.net/article/28/27945.htm) |
| -- 作者:未知 -- 发布日期: 2006-11-10 |
在Window98以下,如果程序要激活自己,只需要简单的调用SetForegroundWindow即可达到目的。但到Win98以后,再也没有这么简单了。
在Window98以下,如果程序要激活自己,只需要简单的调用SetForegroundWindow即可达到目的。但到Win98以后,再也没有这么简单了。 新建一个简单的工程,加进一个Timer控件,设置时间间隔为3秒,接着在时间事件中写SetForegroundWindow(Handle),好,运行程序,将窗口切换到后台,3秒钟之后,你看到的只是任务栏上闪了闪,窗口仍然躺在后面。 这是怎么回事呢,原来在Win98以后,窗口要使用SetForegroundWindow激活自己,必须得到“允许”,允许的方式有很多种,我只介绍最简单的一种,就是利用这个API:LockSetForegroundWindow先解锁Foreground的窗口,然后再调用SetForegroundWindow。 LockSetForegroundWindow在Delphi的Windows单元中并没有声明,需要自己声明,我将激活的函数重新封装如下,需要的朋友直接用就可以了: const 现在你在时间事件中写下如下代码: Application.Restore; wdSetForegroundWindow(Handle); 那么,窗口就可以自己激活自己了,爽吧! |
| webasp.net |