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