gpt4 book ai didi

c# - Outlook 窗口落后 - C# Windows 应用程序

转载 作者:行者123 更新时间:2023-11-30 17:13:55 24 4
gpt4 key购买 nike

我正在使用我的 Windows 应用程序中的代码打开一封新的 Outlook 电子邮件。有没有办法将焦点放在新窗口上(而不是在后面闪烁橙色)?

谢谢!

最佳答案

尝试使用 PInvoke:

public class MoveToForeground
{
[DllImportAttribute("User32.dll")]
private static extern int FindWindow(string ClassName, string WindowName);

[DllImport("user32.dll", EntryPoint="SetWindowPos")]
public static extern IntPtr SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int Y, int cx, int cy, int wFlags);

const int SWP_NOMOVE = 0x0002;
const int SWP_NOSIZE = 0x0001;
const int SWP_SHOWWINDOW = 0x0040;
const int SWP_NOACTIVATE = 0x0010;

public static void DoOnProcess(string processName)
{
var process = Process.GetProcessesByName(processName);
if (process.Length > 0)
{
int hWnd = FindWindow(null, process[0].MainWindowTitle.ToString());
SetWindowPos(new IntPtr(hWnd), 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW | SWP_NOACTIVATE);
}
}
}


MoveToForeground.DoOnProcess("OUTLOOK.EXE");

关于c# - Outlook 窗口落后 - C# Windows 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9283494/

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