C# 如何设置';始终领先';在应用程序外部的窗口上进行标记/设置?
是否有一种托管方式可以在我的应用程序外部的窗口上设置“始终在顶部”标志/设置,或者我是否需要p/调用本机函数C# 如何设置';始终领先';在应用程序外部的窗口上进行标记/设置?,c#,winapi,C#,Winapi,是否有一种托管方式可以在我的应用程序外部的窗口上设置“始终在顶部”标志/设置,或者我是否需要p/调用本机函数 如果p/Invoke是唯一的方法,那么函数调用需要什么,从哪个dll开始?自从提出这个问题以来,我一直在研究这个问题,并且遇到了一个很好的例子,说明了如何通过p/invoking SetWindowPos在“user32.dll”中实现这一点。如果这样做有效的话,我会回来接受这个答案 [DllImport("user32.dll")] static extern bool
如果p/Invoke是唯一的方法,那么函数调用需要什么,从哪个dll开始?自从提出这个问题以来,我一直在研究这个问题,并且遇到了一个很好的例子,说明了如何通过p/invoking SetWindowPos在“user32.dll”中实现这一点。如果这样做有效的话,我会回来接受这个答案
[DllImport("user32.dll")]
static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
static readonly IntPtr HWND_TOPMOST = new IntPtr(-1);
const UInt32 SWP_NOSIZE = 0x0001;
const UInt32 SWP_NOMOVE = 0x0002;
const UInt32 TOPMOST_FLAGS = SWP_NOMOVE | SWP_NOSIZE;
public static void MakeTopMost (IntPtr hWnd)
{
SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS);
}
简单回答:
TopMost = true;