gpt4 book ai didi

c# - 如何将非托管应用程序窗口置于最前面,并使其成为(模拟)用户输入的事件窗口

转载 作者:可可西里 更新时间:2023-11-01 08:52:01 25 4
gpt4 key购买 nike

我假设我需要使用 pinvoke,但我不确定需要调用哪些函数。

场景:遗留应用程序将运行,我将拥有该应用程序的句柄。

我需要:

  1. 将该应用程序置于顶部(在所有其他窗口之前)
  2. 使其成为事件窗口

需要调用哪些 Windows 函数?

最佳答案

如果您没有窗口句柄,请在之前使用它:

[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

现在假设您有应用程序窗口的句柄:

[DllImport("user32.dll", SetLastError = true)]
static extern bool SetForegroundWindow(IntPtr hWnd);

如果另一个窗口有键盘焦点,这将使任务栏闪烁。

如果你想强制窗口到前面,使用ForceForegroundWindow (示例实现)。

关于c# - 如何将非托管应用程序窗口置于最前面,并使其成为(模拟)用户输入的事件窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6228089/

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