我希望在我的工作场所部署一个定义默认纸张大小的 C# 应用程序。没什么特别的。它通过调用 windows.win32 并使用注册表类写入注册表来工作。
尽管我尽了最大的努力,但我一直无法找到相关的注册表项来设置纸张大小和注册的打印机。谁能帮忙?
干杯!
最佳答案
更改注册表设置不是执行此操作的受支持方法。
正确的方法是使用 DEVMODE
结构。
DocumentProperties
底部备注函数描述了将新设置(例如纸张大小)与现有配置合并的正确方法。
别担心,它描述了如何更改应用程序的设置。将最后一步 (CreateDC
) 替换为调用 SetPrinter
在 level 8 函数更改该打印机的全局默认值(或使用级别 9 更改每个用户的默认值)。
在 C++ 中这样做会容易得多,因为您可以使用 Windows 提供的头文件。涉及的结构非常复杂,获得正确的 p/invoke 定义将极其困难。
关于c# - 创建 C# 应用程序以配置打印机页面设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433515/