gpt4 book ai didi

c++ - Openfiledialog 在显示过程中挂起

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

我的应用程序的静态 dll 模块中有 WinForms UI 代码。主窗体有一个对话框窗体,当用户需要更改文件路径时调用openfiledialog。如果我在主线程中创建主 winform 对象,那么在新线程中调用 Application::run() 一切正常。如果我在将调用 Application::run() 的同一线程中移动主 winform 对象创建,这对于 Win XP 工作正常,但在 Win7 和 Win8 中挂起。

最佳答案

FileDialog.AutoUpgradeEnabled 默认为 true,这意味着文件对话框在 Vista+ 上运行时将使用 IFileDialog 接口(interface)。 Vista 文件对话框基于 COM。它需要一个 STA 线程 (ApartmentState = ApartmentState.STA) 以及一个消息泵(如 Application::Run)以避免挂起。

关于c++ - Openfiledialog 在显示过程中挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40061936/

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