在Windows 10内部版本1809上使用Stardocks皮肤时无法使用OpenFileDialog和SaveFileDialog

时间:2019-01-30 13:15:59

标签: c# .net winforms windows-10 openfiledialog

我有一个使用Stardocks WindowBlinds皮肤的WinForms应用程序。 自从最新的Windows 10更新版本1809开始,我无法使用基本的System.Windows.Forms.OpenFileDialog,除非它在0x80040111 (CLASS_E_CLASSNOTAVAILABLE)异常时崩溃(请参见下面的堆栈)。 此问题也会影响SaveFileDialog。

我已经尝试了所有可能想到的事情,例如:

  1. 试图使用所有不同的标志。

  2. 试图从皮肤中排除打开文件对话框。

  3. 其他论坛提出了不同的建议,以禁用高对比度等问题,这些问题也会导致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

0 个答案:

没有答案