如何让自己的窗口一直保持显示,即使在别的程序全屏的时候依然保持显示?
我把窗口设为TOPMOST,但这只在没有别的全屏程序的情况下有效,怎么在别的程序进入全屏后依然能在那个全屏程序里调出自己的窗口?就像11平台在魔兽里调出的改键和魔兽小秘书,或者LOL里的LOL盒子出现的提示信息。
[解决办法]
钩子钩住某个快捷键 然后用快捷键的时候重新显示窗口
[解决办法]
作为dota人,只能帮你顶下
[解决办法]
LZ 是你自己写的程序,要让它一直在Z轴顶端吗?还是你想设置某个现成的软件?
[解决办法]
我感觉这个功能,单方面的程序做不到啊.
要注入宿主程序,还是要宿主程序提供这个功能,还是什么之类的.
[解决办法]
谁是顶层窗口,全局窗口, 你的窗口就认谁为父窗口. 这样就总会在前了.
但只是思路, 没具体编译测试, 你自己 试试吧看行不. 可能对于Direct技术的全屏, 可能无效.
[解决办法]
全屏独占模式的窗口(常见的就是游戏 另:我也玩DOTA)里面所显示的自定义窗口是无法直接将自己写的MFC窗口通过置顶的方式来在游戏中显示的,一般来说如果将自己的MFC窗口通过线程或TIMER类的方式来强制置顶的话,全屏游戏就会最小化了,一个办法就是将MFC窗口设置为非活动的,如SetWindowPos(....,SWP_NOACTIVE )即最后一个参数不活动(还要有其它函数重载),但是这样通过线程或TIMER实现的窗口仍然闪烁的非常厉害,像人家那个小秘书啥的,应该用的是注入的方式将自己的界面注入到中了,而且不仅仅是MFC窗口的注入,应该还用到了游戏DIRECTX的技术,我原来也简单的研究过,没有结果,我个人估计对于做游戏开发和DIRECTX开发的人员来说应该很简单,但我觉得像我们这种做MFC开发的来说弄那个太费劲了,所以我也没有去研究。