PB6.5在XP下換印表機
阿新 • • 發佈:2019-02-04
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才能讀出正確的印表機。最後這個地方通過加了個等待動畫來解決了