有没有办法让 SharpDevelop 程序始终保持在其他 windows 之上?

Is there a way to get SharpDevelop program to always stay on top other windows?

我在 SharpDevelop C# 工作,我想知道是否有一种方法可以让程序始终保持在其他程序之上 window。我正在按照教程学习 C#,但在 Media Player 和 SharpDevelop 程序之间切换变得很烦人。这没什么大不了的,我知道,但只是想知道是否有办法实现这一目标。

是的,有一些工具可以让媒体播放器(以及任何应用程序的 99%)保持在顶部。 因为我不会推荐,请搜索 "Always On Top" 或 "Window on top"

如果您想自己编写,则需要找到该应用程序的顶级 window 的 get window 句柄,然后执行类似操作(w 是 HWND)。 C++ 中的示例代码:

  HWND w=GetForegroundWindow(); // or  w=WindowFromPoint(cursorpos);

  DWORD isTop=GetWindowLong(w, GWL_EXSTYLE)&WS_EX_TOPMOST;

  SetWindowPos(w, isTop ? HWND_NOTOPMOST : HWND_TOPMOST, 0,0,0,0, SWP_NOMOVE|SWP_NOACTIVATE|SWP_NOSIZE);

在 C# 中你需要 P/Invoke.