PowerBuilder控制打印机与设置默认打印机

需积分: 9 3 下载量 30 浏览量 更新于2024-07-18 收藏 288KB DOC 举报
"本文主要介绍了如何在PowerBuilder (PB) 中进行打印及打印机控制,特别是如何获取和设置系统默认打印机。文章重点讲述了在不同Windows操作系统版本下实现这一功能的方法,并详细解析了在Windows 2000及后续版本中使用的API函数GetDefaultPrinter和SetDefaultPrinter的使用步骤。" 在PowerBuilder编程中,打印和打印机控制是关键功能之一。PB8.0引入了PrintGetPrinter函数来获取当前默认打印机,但设置默认打印机的功能仍然需要通过API函数实现。对于使用PB8.0之前版本的开发者来说,了解如何通过API调用来实现这些操作尤为重要。 在Windows 2000及其后续版本(如Windows XP)中,系统提供了GetDefaultPrinter和SetDefaultPrinter两个API函数,使得获取和设置系统默认打印机变得非常便捷。GetDefaultPrinter函数用于获取当前默认打印机的信息,而SetDefaultPrinter函数则用于设置新的默认打印机。在调用GetDefaultPrinter时,由于返回的打印机名称长度未知,通常采用“两步法”调用:首次调用时将字符串缓冲区设为NULL,获取所需长度,然后根据返回的长度分配内存并再次调用函数,以获取实际的打印机名称。 在Windows 95/98/Me以及Windows NT 3.5和4.0版本中,获取和设置默认打印机的方法相对复杂,因为这些系统不提供与Windows 2000及后续版本相同的API函数。开发者需要使用其他API,如EnumPrinters和DeviceCapabilities等,来遍历打印机列表并进行相应的操作。 此外,文章还提到,PB7.0以前的版本没有提供设置默认打印机的函数,因此对于使用这些早期版本的开发者,理解如何利用Windows API来完成这项任务至关重要。通过学习和应用这些技术,开发者可以编写更灵活、适应性更强的打印控制代码,确保应用程序能够在各种环境下正确地进行打印操作。 本章内容涵盖了不同Windows系统下的打印机控制技术,强调了在PowerBuilder中与打印相关的API调用和技巧,对PB开发者优化打印功能具有很高的参考价值。通过深入理解这些知识点,开发者可以更好地实现打印需求,提高应用程序的用户体验。