gpt4 book ai didi

c# - 使用窗口句柄使窗口最顶层

转载 作者:IT王子 更新时间:2023-10-29 04:40:45 25 4
gpt4 key购买 nike

在使用 Process 类启动应用程序后,我想将该窗口置于最顶部。目前,我的应用程序是最顶层的窗口,因此当我启动另一个应用程序时它不会显示。我想到的一件事是,我可以在启动进程之前为我的应用程序设置 topmost = false,问题是我想在向用户显示之前给进程足够的时间来加载它,所以我想更好地控制何时将其他应用程序切换到最顶层。

最佳答案

您需要使用 P/Invoke with 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);

关于c# - 使用窗口句柄使窗口最顶层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1528473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com