gpt4 book ai didi

c++ - 在 Vista x64 上使用 PrintDlg 不起作用,在 32 位和 XP 上工作正常

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:01:40 25 4
gpt4 key购买 nike

我们有一个应用程序,其中包含一些我们仍在使用的遗留打印机“设置”代码 <a href="http://msdn.microsoft.com/en-us/library/ms646940(VS.85).aspx" rel="noreferrer noopener nofollow">PrintDlg</a>为了。我们使用自定义模板允许用户选择用于各种类型的打印任务(例如报告或绘图)的打印机以及方向和纸张尺寸/来源。

它在 XP 和 32 位 Vista 上工作,但在 Vista x64 上它得到一个 CDERR_MEMLOCKFAILURE通过CommDlgExtendedError() .我已经尝试使用 PRINTDLG 中的基本输入来运行它结构,但如果参数包括PD_PRINTSETUPPD_RETURNDEFAULT ,我得到了那个错误。

由于打印机选择/页面设置已拆分为 <a href="http://msdn.microsoft.com/en-us/library/ms646937(VS.85).aspx" rel="noreferrer noopener nofollow">PageSetupDlg</a><a href="http://msdn.microsoft.com/en-us/library/ms646942(VS.85).aspx" rel="noreferrer noopener nofollow">PrintDlgEx</a> ,如果不更改大量代码和/或完全更改我们向用户呈现打印和打印机设置的方式,就没有明显的简单过渡。

有没有人在 64 位 Vista 上看到过这个问题,你有没有找到任何解决方法?

注意事项:
由于其他限制,应用程序以管理员身份运行

最佳答案

我在 Microsoft 论坛上找到了相关帖子:On Vista x64, DocumentProperties fails from UAC-elevated process

我已经用一个示例程序验证了 PrintDlg 以非管理员身份运行。

关于c++ - 在 Vista x64 上使用 PrintDlg 不起作用,在 32 位和 XP 上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/285482/

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