gpt4 book ai didi

wpf - 加载 WPF 窗口而不显示它

转载 作者:行者123 更新时间:2023-12-03 06:04:12 24 4
gpt4 key购买 nike

我创建了一个全局热键来通过 PInvoking RegisterHotKey() 显示窗口。但要做到这一点,我需要该窗口的 HWND,它在窗口加载之前不存在,这意味着第一次显示。但我不想在设置热键之前显示窗口。有没有办法为用户不可见的窗口创建一个 HWND

最佳答案

如果您的目标是 .NET 4.0,则可以使用 WindowInteropHelper 上提供的新 EnsureHandle 方法:

public void InitHwnd()
{
var helper = new WindowInteropHelper(this);
helper.EnsureHandle();
}

(感谢 Thomas Levesque pointing this out. )

如果您的目标是旧版本的 .NET Framework,最简单的方法是显示访问 HWND 的窗口,同时设置一些属性以确保该窗口不可见并且不会窃取焦点:

var window = new Window() //make sure the window is invisible
{
Width = 0,
Height = 0,
WindowStyle = WindowStyle.None,
ShowInTaskbar = false,
ShowActivated = false
};
window.Show();

一旦您想要显示实际窗口,您就可以设置内容、大小并将样式更改回普通窗口。

关于wpf - 加载 WPF 窗口而不显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1399037/

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