UWA打印对话框 - 带有UWA对话框崩溃,Win32对话框从不 我有一个30年历史的打印对话框 它仅针对UTF16字符(WCHAR)升级,该字符始终根据序列工作: if((s_ok == printdlgex(&pdprint))&&pdprint.

问题描述 投票:0回答:0
我在我的一台计算机中安装了一个2021

的办公室,win32打印对话框更改为UWA打印对话框(布局)

,标题:

不仅是通常的“打印”

但“来自Win32程序的打印 - 打印”。 MS Office安装另一个打印对话框很明显,并且具有常规printDlgex不支持的其他参数,例如转换。 问题 - startDoc()崩溃 它正在用startDoc()崩溃 "Exception thrown at 0x00007FFAE6406BC in XXXXXX.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x000000371555C4D0."

    绝对没有startdoc()的调试,它在引擎盖下。但也值得注意的是,该程序没有任何分配内存,这全都来自打印对话框。
  • 在我的笔记本电脑中使用Office 2008安装的标准代码,仍然Win32打印对话框,没问题。
  • 据我所知,除了Win 11 22H2升级和VS升级至17.4.3,但仍然是V143的更改(除了我的MS商店)(由我),它不会在我的任何计算机中崩溃。
  • 该怎么办?
基本问题是,作为通过MS商店的SW供应商,我无法控制我的客户在程序旁边安装哪个程序。 (我不应该在乎,但显然我愿意。)

我无法告诉我的客户在安装MS Office后必须还原印刷内核吗? (Google搜索中的建议)

有两个方面:

在“商业” SW中崩溃是不可接受的

它看起来不太好,标题“打印”与UWA打印对话框交换(如果安装了办公室)”,“从Win32程序 - 打印”中打印,我想找到一种与我的程序一致的方法,以向我的用户展示。

是否有一个新的Win32 SDK功能,该功能支持将标题,预览且免费崩溃可用吗?我可以称呼的东西,而不是printdlgex()?

或其他方法可以处理这种情况?

我不再有问题了,我已将其报告给MS(在本文时),但显然他们在后来的打印DLG DLL中修复了一个错误(最近我可以看到的)。如果他们使用W11或办公室升级修复了它,我不知道。

c winapi printing
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.