0

我正在寻找开发一个应用程序,它本质上是一个计时器窗口,它始终显示在任何其他应用程序前面的屏幕上,并且在聚焦其他窗口时永远不会落到后台。一个例子是当我玩全屏游戏时,我希望这个计时器覆盖游戏,当我点击窗口上的计时器按钮时,它不会关闭游戏。

有什么想法可以在 C#/java/C++ 中实现吗?

谢谢

4

2 回答 2

1

C#:尝试设置窗口(窗体)的 AlwaysOnTop 属性
java:在框架或对话框上调用 setAlwaysOnTop(true)

于 2012-04-26T18:32:42.860 回答
0

我认为您想要实现的目标可以通过 C# 中表单的属性TopMost和 Java Window 上的setAlwaysOnTop来实现......

在 Windows 上的 C++ 中,您必须调用SetWindowPos函数并作为参数传递:HWND_TOPMOST属性。

更新

由于您的应用程序处于全屏模式,请尝试使用 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();
于 2012-04-26T18:33:56.510 回答