gpt4 book ai didi

c# - FindWindow 和 SetForegroundWindow 替代品?

转载 作者:可可西里 更新时间:2023-11-01 03:04:58 24 4
gpt4 key购买 nike

我正在寻找使用 FindWindow()SetForegroundWindow() 切换到不同应用程序的旧 User32.dll 版本的替代方案.

我确实找到了使用 Process.GetProcessesByName() 的第一个替代方法,但我没有看到切换(设置事件/前景)到该应用程序的相应方法。

有没有一种方法可以不使用 User32.dll方法来做到这一点?

感谢您的帮助。

编辑

虽然这不是我要找的答案,但我接受了@Sorceri 的回答。

最佳答案

回答:没有

但是,为了帮助下一个寻找窗口并从 C# 激活它的好奇者,您必须执行以下操作:

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

void ActivateApp(string processName)
{
Process[] p = Process.GetProcessesByName(processName);

// Activate the first application we find with this name
if (p.Count() > 0)
SetForegroundWindow(p[0].MainWindowHandle);
}

例如,要将记事本置于最前面,您可以调用:

ActivateApp("notepad");

作为旁注 - 对于那些试图将应用程序中的窗口 带到前台的人,只需调用 Activate() method .

关于c# - FindWindow 和 SetForegroundWindow 替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11512373/

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