有没有办法让SharpDevelop程序始终保持在其他顶级窗口?

时间:2016-06-25 19:04:46

标签: c# windows-media-player sharpdevelop

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

1 个答案:

答案 0 :(得分:2)

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

如果你想自己编写,你需要找到该应用程序的顶级窗口的获取窗口句柄,然后执行类似(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。