目录
您目前所在:主页 > 新闻中心 >
新闻中心
windows将窗口置顶的几种方式
作者:亚博网址    发布日期:2020-07-25 04:55


  使用定时器,然后在定时器响应函数中定时调用,SetWindowPos()函数,第一个参数写HWND_TOPMOST

  因为2000/XP改变了SetForegroundWindow的执行方式,不允许随便把窗口提前,打扰用户的工作。可以用附加本线程到最前面窗口的线程,从而欺骗windows。

  我们知道,Windows    9x/2000中SetForegroundWindow函数当用户正在操作其他窗口时是不能强制某个窗口为前景窗口的,而是激活窗口并调用FlashWindowEx函数来通知用户。但是很多实际情况要求将激活窗口的同时将创建这个窗口的线程置为前景状态。碰到这种情况我们可以使用USER32.DLL中的几个未公开API函数。

  第一种:SetForegroundWindow,这个方法时灵时不灵。有人说,在自己的程序里把自己的

  就灵。我觉得这是有原因的:当一个程序运行这个函数的时候,我们可以想象,如果是用鼠标操作,那么当前

  实际上正在操作,很可能在瞬间离开后,焦点又回来了,那么看上去更就没有吧其它

  置前的效果,所以这个函数内部可能做了延迟,略等一下,在这个时间内,当前

  问题:有个界面,想定期让其提前(**并显示在用户面前),但又不想用TOPMOST那种

  方法.我用了SetForegroundWindow,SetActiveWindow,SHOW_WINDOW都不行:程序运行后再打开记事本,时间到我的程序只会在任务栏上闪几下,界面根本出不来怎么办!!(不用顶极

  ,不用鼠标模拟点击)方法一:使用定时器,然后在定时器响应函数中定时调用,SetWindo...

亚博网址

亚博网址| 联系我们| 网站地图
2017(C) 版权所有:亚博网址