我希望开发一个应用程序,它本质上是一个计时器窗口,它始终显示在任何其他应用程序前面的屏幕上,并且在聚焦其他窗口时永远不会落到后台。一个例子是,当我玩全屏游戏时,我希望这个计时器覆盖游戏,当我点击窗口上的计时器按钮时,它不会关闭游戏。
我是如何在C#/ java / C ++中实现这一目标的?
由于
答案 0 :(得分:1)
C#:尝试设置窗口(窗体)的AlwaysOnTop属性
java:在框架或对话框上调用setAlwaysOnTop(true)
答案 1 :(得分:0)
我认为你想要实现的目标可以通过C#中表单的属性TopMost和Java窗口上的setAlwaysOnTop来实现......
在Windows上的C ++中,你必须调用 SetWindowPos 函数并传递参数: HWND_TOPMOST attribue。
更新
由于您的应用程序处于全屏模式,请尝试使用Win32 API函数在前台设置应用程序:SetForegroundWindow。
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
SetForegroundWindow(this.Handle);
否则,您可以尝试避免使用Win32 SetForegroundWindow函数,如下所示:
this.TopMost = true;
this.Activate();