Jam*_*add 19 c# windows process
在使用Process类启动应用程序后,我想将该窗口放在最顶层.目前,我的应用程序是最顶层的窗口,所以当我启动其他应用程序时,它不会显示.我想到的一件事是,我可以在启动进程之前为我的应用程序设置topmost = false,这个问题是我想让进程有足够的时间加载,然后再显示给用户,所以我想要当我将其他应用程序切换到最顶层时,可以更好地控制.
Ree*_*sey 56
你需要使用P/Invoke和SetWindowPos来实现这个:
[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 SWP_SHOWWINDOW = 0x0040;
// Call this way:
SetWindowPos(theWindowHandle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22811 次 |
| 最近记录: |