gpt4 book ai didi

c# - 从 WinForms 应用程序(.Net 4.5.2/Win 7/32 位)打开 WPF 窗口

转载 作者:行者123 更新时间:2023-11-30 16:56:05 25 4
gpt4 key购买 nike

我最近在安装了 .Net 4.5.2 的 Windows 7 32 位操作系统上遇到了一个问题。我有一个 Winforms 应用程序并打开一个模态 WPF 窗口。但是,由于我们安装了 .Net Framework 4.5.2,这些窗口无法正常打开,调用窗口 .ShowDialog() 后大约需要 15-20 秒(鼠标指向指针几秒钟,winforms 窗口变得无响应) 然后我们收到以下异常:

enter image description hereSystem.ComponentModel.Win32Exception (0x80004005): 配额不足,无法处理此命令

奇怪的是一旦抛出这个异常并且我选择“继续”,下次我尝试打开窗口时,它立即打开并且没有抛出异常。

以下是我用来打开窗口的简化版本。 (当我运行这段代码时,应用程序不会抛出异常,但会挂起 15-20 秒)

    private void OpenWpfWindow(object sender, EventArgs e)
{
WPFWindow testWindow = new WPFWindow();

testWindow.Visibility = System.Windows.Visibility.Visible;
testWindow.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;

System.Windows.Interop.WindowInteropHelper helper = new System.Windows.Interop.WindowInteropHelper(testWindow);
helper.Owner = System.Windows.Forms.Application.OpenForms[0].Handle;

testWindow.ShowDialog();
}

我们在安装 Windows 7 和 .Net 4.5 时没有遇到此问题

最佳答案

这个问题原来是 .NET 4.5.2(在 Windows 7 中)中关于触摸设备初始化的问题,并且有来自 Microsoft 的修补程序解决方案。

WPF 应用程序启动 Windows 触摸输入服务 (wisptis.exe),即使没有触摸设备,也会导致延迟,同时消息队列被淹没,WPF 窗口创建失败。

修补程序可以在这里找到: https://support.microsoft.com/en-us/kb/3026376/

关于c# - 从 WinForms 应用程序(.Net 4.5.2/Win 7/32 位)打开 WPF 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28465012/

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