gpt4 book ai didi

c# - 在 WPF 中将窗口置于最前面

转载 作者:IT王子 更新时间:2023-10-29 03:29:39 29 4
gpt4 key购买 nike

如何将我的 WPF 应用程序置于桌面前端?到目前为止,我已经尝试过:

SwitchToThisWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle, true);

SetWindowPos(new WindowInteropHelper(Application.Current.MainWindow).Handle, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

SetForegroundWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle);

它们都没有完成工作(Marshal.GetLastWin32Error() 表示这些操作已成功完成,并且每个定义的 P/Invoke 属性都具有 SetLastError=true).

如果我创建一个新的空白 WPF 应用程序,并使用计时器调用 SwitchToThisWindow,它会完全按预期工作,所以我不确定为什么它在我的原始情况下不起作用。

编辑:我正在结合全局热键执行此操作。

最佳答案

myWindow.Activate();

尝试将窗口置于前台并激活它。

这应该可以解决问题,除非我误解了您想要始终在最前面的行为。在那种情况下你想要:

myWindow.TopMost = true;

关于c# - 在 WPF 中将窗口置于最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/257587/

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