我有一个使用Stardocks WindowBlinds皮肤的WinForms应用程序。
自从最新的Windows 10更新版本1809开始,我无法使用基本的System.Windows.Forms.OpenFileDialog,除非它在0x80040111 (CLASS_E_CLASSNOTAVAILABLE)
异常时崩溃(请参见下面的堆栈)。
此问题也会影响SaveFileDialog。
我已经尝试了所有可能想到的事情,例如:
试图使用所有不同的标志。
试图从皮肤中排除打开文件对话框。
其他论坛提出了不同的建议,以禁用高对比度等问题,这些问题也会导致COM异常(例如我的)。
使它起作用的唯一方法是将AutoUpgradeEnabled
用作false
,然后对话框获得非常老的Windows 7外观。
还有其他人遇到同样的问题吗?
完整堆栈:
使用args委托方法b__0 System.Object []引发异常创建COM的实例 具有CLSID {C0B4E2F3-BA21-4773-8DBA- 335EC946EB8B}由于以下错误而从IClassFactory失败:80040111 ClassFactory无法提供请求的类(异常 从HRESULT:0x80040111(CLASS_E_CLASSNOTAVAILABLE))。 System.Runtime.InteropServices.COMException(0x80040111):使用CLSID创建COM组件的实例 来自IClassFactory的{C0B4E2F3-BA21-4773-8DBA-335EC946EB8B}失败 由于以下错误:80040111 ClassFactory无法提供 请求的类(HRESULT的异常:0x80040111 (CLASS_E_CLASSNOTAVAILABLE)。 在System.Windows.Forms.SaveFileDialog.CreateVistaDialog() 在System.Windows.Forms.FileDialog.RunDialogVista(IntPtr hWndOwner) 在System.Windows.Forms.FileDialog.RunDialog(IntPtr hWndOwner) 在System.Windows.Forms.CommonDialog.ShowDialog(IWin32Window所有者) 在System.Windows.Forms.CommonDialog.ShowDialog()
谢谢
Adar