1. 程式人生 > >PB6.5在XP下換印表機

PB6.5在XP下換印表機

PB6.5        WindowsXP

客戶要求在一次業務流程裡分別使用兩個印表機:斑馬印表機;普通鐳射印表機。但是PB6.5是不能通過程式直接設定印表機的,它只有一個PrintSetup ( )函式,用來開啟選印表機的對話方塊。

從網上搜了一些東西,說的都不對,在XP下不成功。

最後通過對比登錄檔,找到了在登錄檔裡設定預設印表機的地方:

【HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/Windows/Device】

這裡儲存瞭如下格式的字串:

Microsoft Office Document Image Writer,winspool,Ne00:

Microsoft Office Document Image Writer:印表機名。

winspool:所有印表機都一樣。

Ne00:印表機埠。

檢視印表機埠的地方:

【HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/PrinterPorts】

在PB6.5裡通過RegistrySet()函式來改變登錄檔的值。但是我發現一個問題,似乎更改了之後,必須停一些(例如彈個MessageBox),PB才能讀出正確的印表機。最後這個地方通過加了個等待動畫來解決了