怎样设置windows下的缺省打印机

Fancy_Free 2004-10-25 04:54:11
如题
...全文
261 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
thelazyman 2004-10-26
  • 打赏
  • 举报
回复
不错,直接在控制面板的打印机下设置默认的打印机即可
当然也可以在pb下用printsetup()函数让用户选择打印机。
datafrog 2004-10-26
  • 打赏
  • 举报
回复
as_DefaultPrinter 将要设置的打印机名

integer li_RetVal = 1
Environment lenv_Env
string ls_Buffer

// make changes
if GetEnvironment(lenv_Env) = 1 then
choose case lenv_Env.OSType
case WindowsNT!
// check if given printer is valid

if RegistryGet("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices", &
as_DefaultPrinter, ls_Buffer) <> 1 then return -2
// check for needed changes
if (as_DefaultPrinter + "," + ls_Buffer) = of_GetDefaultPrinter() then return 0
// set it in registry
return RegistrySet("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows", &
"Device", as_DefaultPrinter + "," + ls_Buffer)
case Windows!
// check if given printer is valid
ls_Buffer = ProfileString(of_GetWinINI(), "Devices", as_DefaultPrinter, "error")
if ls_Buffer = "error" then return -2
// check for needed changes
if (as_DefaultPrinter + "," + ls_Buffer) = of_GetDefaultPrinter() then return 0
// set it in INI file
if SetProfileString(of_GetWinINI(), "Windows", "Device", as_DefaultPrinter + "," + ls_Buffer) <> 1 then
return -1
end if
end choose
else
// error geting environment
return -1
end if
yzh963 2004-10-26
  • 打赏
  • 举报
回复
自定义函数f_get_printer 返回值:boolean
参数:dropdownlistbox 参数名:ddlb_printer
函数体
string ls_printer[] //定义一个字符串型数组

integer li_rtn,li_ArrayUp,li_step
li_rtn = RegistryKeys("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Printers", ls_printer) //从注册表中取其列表

IF li_rtn = 1 THEN
li_ArrayUp = UpperBound(ls_printer)
//取列表数组上限
IF li_ArrayUp >= 1 THEN
FOR li_step = 1 to li_ArrayUp
ddlb_printer.additem ( ls_Printer[li_step] )
//向下拉列表框中增加打印机
NEXT
ELSE
return false
END IF
ELSE
return false
END IF
return true

//使用函数在下拉列表框的constructor事件里写代码
boolean lb_PrinterExists

lb_PrinterExists = f_get_printer(this)
//向下拉列中增加打印机
IF NOT lb_PrinterExists THEN
messagebox ("提示!","尚未安装打印机!")

END IF
//可用printsetup函数设置打印机
mittee 2004-10-26
  • 打赏
  • 举报
回复
这方面的dll很多哦
pbtech 2004-10-25
  • 打赏
  • 举报
回复
呵呵,楼上的方法可以
flappySoft 2004-10-25
  • 打赏
  • 举报
回复
直接在windows的控制面板里面改啊
hwh88888 2004-10-25
  • 打赏
  • 举报
回复
//STEP 1: Get the current default printer name.
string ls_default
RegistryGet("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows", "Device", ls_default)
sle_def.text = ls_default

//Step 2: Set a new default printer name.
int li_rtn
li_rtn = RegistrySet("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows", &
"Device", sle_new.text)
if li_rtn = 1 then
Messagebox("Setting new printer name", "Successful")
else
Messagebox("Setting new printer name", "Failed")
end if

743

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧