`
- 浏览:
746771 次
-
问题:有个界面,想定期让其提前(**并显示在用户面前),但又不想用TOPMOST那种置顶方法.我用了SetForegroundWindow,SetActiveWindow,SHOW_WINDOW都不行:程序运行后再打开记事本,时间到我的程序只会在任务栏上闪几下,界面根本出不来怎么办!!(不用顶极窗口,不用鼠标模拟点击)
方法一:
使用定时器,然后在定时器响应函数中定时调用,SetWindowPos()函数,第一个参数写HWND_TOPMOST
方法二:
因为2000/XP改变了SetForegroundWindow的执行方式,不允许随便把窗口提前,打扰用户的工作。可以用附加本线程到最前面窗口的线程,从而欺骗windows。
AttachThreadInput(GetWindowThreadProcessId(::GetForegroundWindow(),NULL), GetCurrentThreadId(),TRUE);
SetForegroundWindow();
SetFocus();
AttachThreadInput(GetWindowThreadProcessId(::GetForegroundWindow(),NULL), GetCurrentThreadId(),FALSE);
方法三:
如何激活指定的窗口事件 ●
我们知道,Windows 9x/2000中SetForegroundWindow函数当用户正在操作其他窗口时是不能强制某个窗口为前景窗口的,而是激活窗口并调用FlashWindowEx函数来通知用户。但是很多实际情况要求将激活窗口的同时将创建这个窗口的线程置为前景状态。碰到这种情况我们可以使用USER32.DLL中的几个未公开API函数。
void SwitchToThisWindow (
HWND hWnd, // 被激活的窗口句柄
BOOL bRestore // 如果被极小化,则恢复窗口
);
必须动态加载这个函数。
typedef void (WINAPI *PROCSWITCHTOTHISWINDOW) (HWND, BOOL);
PROCSWITCHTOTHISWINDOW SwitchToThisWindow;
HMODULE hUser32 = GetModuleHandle("user32");
SwitchToThisWindow = ( PROCSWITCHTOTHISWINDOW)
GetProcAddress(hUser32, "SwitchToThisWindow");
接下来只要用任何现存窗口的句柄调用这个函数即可,第二个参数指定如果窗口极小化,是否恢复其原状态。
SwitchToThisWindow(hWnd, TRUE);
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
监视最顶层窗口,GetForgroundWindow,如有变化就记录下来,可用于协助解决玩游戏经常弹出到桌面的问题。因为不很完善,一并将代码给出,可执行文件在Release目录下。
VC 通过编程实现在最顶层显示的窗口,也就是窗口置顶,这是一个目前来说较普遍的应用了,不少程序都喜欢自己拥有这样的霸权,像一些视频播放器,都有置于最顶层显示的定义项。本Demo代码就向大家演示了如何在VC编程...
vc 枚举窗口实例:获取显示在最顶层的窗口标题,将显示枚举到的窗口类名和窗口标题,操作简单,只需要点击窗口中的“枚举所有顶层窗口”即可,运行的界面效果如演示截图所示。
VC++通过编程实现在最顶层显示的窗口,也就是窗口置顶,这是一个目前来说较普遍的应用了,不少程序都喜欢自己拥有这样的霸权,像一些视频播放器,都有置于最顶层显示的定义项。本Demo代码就向大家演示了如何在VC编程...
VC6 让窗口显示其它窗口的最上面(顶层),把窗口显示在最上面,不会被其它的窗口所遮挡,现在这种窗口已经得到广泛的应用,比如在一上结输入窗口、视频播放窗口中,这种效果还是挺常见的。本代码实现的窗口置顶,...
本程序演示了如何在VC下编写代码,让窗口处于最顶层。
可以将window任意窗口最顶层显示,解决全屏与窗口之间反复切换问题,提高办公效率,zsbdzsbdzsbd
不被其它的窗口遮挡,现在新版的暴风影音播放器有这种功能,在播放视频的时候,为了不被其它的窗体所遮挡,可设置播放窗口显示在最顶层,这个功能实用吧,在Delphi中,本源码将演示其中一种实现的方法。代码细节: ...
VC++ 枚举桌面所有顶层窗口,列出窗口类名和窗口标题等。
VC++使窗口顶层显示
所谓的多顶层窗口,类似于我们的输入窗口一样,当焦点处于word窗口内是,输入法还能够显示在最上面。 这个例子用VB.NET调用API 实现。
如何枚举桌面所有顶层窗口
判断顶层窗口是否变化工具类,兼容4.0 及以上5.0、6.0
本程序实现了让窗体始终出现在最顶层,需要的朋友请看
列举桌面顶层窗口的句柄和标题,代码比较简单,也比较容易理解,只是适合新手理解一些关于窗口句柄的函数。
listenpage 用于监听window窗口是否是顶层窗口,监听窗口切换的方法
VB之精彩界面源代码-将窗口放至所有窗口的最前面(2KB)
VC 顶层窗口 置顶窗口源代码,显示在最顶层的窗口,当启用本功能后,所有打开的窗口都要置于本窗口的下层,也就是本窗口始终不会被遮挡。目前已经有不少的软件,使用有这种效果,类似视频播放器程序在播放视频时,...
易语言取顶级窗口及子窗口源码,取顶级窗口及子窗口,下个句柄,顶级句柄
绿色小软件,聊天,看电影,传照片,发微薄,同时进行。用得着的朋友很实用的哦