在PB程序中如何設置打印機?

//先定義局部函數如下:

FUNCTION ulong GetWindowsDirectoryA(ref string wdir, ulong buf) LIBRARY "kernel32.dll"

//內部變量

string is_winpathfile

//編寫讀取已經安裝的打印機清單:

string ls_WindowsDirctory

ulong lu_Buf

boolean lb_PrinterExists

string ls_printer,ls_tmp,ls_printers[]

int li_point

integer li_rtn,li_ArrayUp,li_step
lu_Buf = 144

ls_WindowsDirctory = Space(144)

//得到系統目錄

GetWindowsDirectoryA(ls_WindowsDirctory,lu_Buf)

is_winpathfile = ls_WindowsDirctory + "/win.ini"

//判斷系統是否安裝打印機

li_rtn = RegistryKeys("HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Print/Printers", ls_printers)

IF li_rtn = 1 THEN

li_ArrayUp = UpperBound(ls_printer)

IF li_ArrayUp >= 1 THEN

FOR li_step = 1 TO li_ArrayUp

ddlb_printers.additem ( ls_Printer[li_step] )

lb_PrinterExists = true

NEXT

else

lb_PrinterExists = false

end if

else

lb_PrinterExists = false

end if

IF NOT lb_PrinterExists THEN

messagebox ("提示!","尚未安裝打印機!")

ELSE

ls_tmp = profilestring (is_winpathfile,"windows","device","")

ls_tmp = trim (ls_tmp)

li_point = pos (ls_tmp,",",1)

ls_printer = left (ls_tmp,li_point - 1)

IF trim (ls_printer) <> "" AND NOT IsNull (ls_printer) THEN

ddlb_printers.text = trim (ls_printer)

ELSE

ddlb_printers.selectitem (1)

END IF

END IF

//在selectchanged事件中編程:

string ls_printer

ls_printer = profilestring(is_winpathfile,"Devices",trim(this.text (index)),"")

//修改win.ini文件

setprofilestring(is_winpathfile,"windows","device",trim(this.text (index)) + "," +ls_printer)

//修改註冊表文件

RegistrySet("HKEY_CURRENT_CONFIG/System/CurrentControlSet/Control/Print/Printers","Default", trim(this.text))
 
 
 
BY  tisnly
 
  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章