最新消息:

NSIS一键安装网络打印机

nsis 永恒心锁 6206浏览 0评论

为了方便安装打印机,所以特地写了这个脚本。希望对大家有所帮助。

在窗体中创建Droplist,并且读取选择值,来进行后续操作。

点击安装来触发

function OnClickinstall
 SetShellVarContext all
 ${NSD_GetText} $DropList1 $stext
 
 ${if} $stext == "20楼打印机"
 ;===打印机IP地址===
 StrCpy $ipadd '192.168.1.42'
 ;===打印机名称===
 StrCpy $pname 'KONICA MINOLTA 500/420/360VXL'
 ;===驱动程序总文件===
 StrCpy $local "\\172.16.0.5\Software\驱动程序\20楼新打印机驱动\20楼打印机32位驱动\KOBZOJB_.inf"
 ${andIf} ${RunningX64}
 push $local
 StrCpy $local "\\172.16.0.5\Software\驱动程序\20楼新打印机驱动\20楼打印机64位驱动\KOBZOJB_.inf"
 ${endif} 
 
 ${if} $stext == '19楼打印机'
 ;===打印机IP地址===
 StrCpy $ipadd '192.168.8.41' 
 ;===打印机名称===
 StrCpy $pname 'HP Universal Printing PCL 6'
 ;===驱动位置=== 
 StrCpy $local "\\172.16.0.5\Software\驱动程序\19楼新打印机驱动\HP Universal Print Driver\pcl6-x32\hpcu175u.inf"
 ;===驱动程序总文件===
 ${andIf} ${RunningX64}
 push $local
 StrCpy $local "\\172.16.0.5\Software\驱动程序\19楼新打印机驱动\HP Universal Print Driver\pcl6-x64\hpcu175u.inf" 
 ${endif} 
 
 ${if} $stext == '38楼打印机'
 ;===打印机IP地址===
 StrCpy $ipadd '192.168.10.39' 
 ;===打印机名称===
 StrCpy $pname 'KONICA MINOLTA 501/421/361PCL'
 ;===驱动位置=== 
 StrCpy $local "\\192.168.10.10\驱动程序\打印机驱动\打印机安装文件\PCL_Win7_32\Win_x86\KOBZEJ__.inf"
 ;===驱动程序总文件===
 ${andIf} ${RunningX64}
 push $local
 StrCpy $local "\\192.168.10.10\驱动程序\打印机驱动\打印机安装文件\PCL_Win7_64\Win_x64\KOBZEJ__.inf" 
 ${endif} 
 
 ;===添加打印机端口===
 WriteRegDWORD HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports' "StatusUpdateInterval" "0000000a"
 WriteRegDWORD HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports' "StatusUpdateEnabled" "00000001"
 WriteRegDWORD HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports' "LprAckTimeout" "000000b4"
 
 ;===添加具体端口===
 MessageBox MB_ICONINFORMATION|MB_OK '你选择安装的打印机为$stext $\n$\r 该打印机IP地址为$ipadd $\n$\r 驱动程序位置为:$local' 
 WriteRegDWORD HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "Protocol" "00000001"
 WriteRegDWORD HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "Version" "00000002"
 WriteRegStr HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "HostName" $ipadd
 WriteRegStr HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "IPAddress" ""
 WriteRegStr HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "HWAddress" ""
 WriteRegDWORD HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "PortNumber" "9100"
 WriteRegStr HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "SNMP Community" "public"
 WriteRegDWORD HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "SNMP Enabled" "00000000"
 WriteRegDWORD HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "SNMP Index" "00000001"
 WriteRegDWORD HKLM 'SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\$ipadd' "PortMonMibPortIndex" "00000000"

 
 ;===重启打印机安装服务===
 nsExec::Exec 'net stop spooler'
 nsExec::Exec 'net start spooler'
 
 ;===调用系统组件安装打印机===
 ExecWait 'rundll32 printui.dll,PrintUIEntry /if /b "$pname" /r $ipadd /m "$pname" /z /f "$local" '
 ExecWait 'rundll32 printui.dll,PrintUIEntry /y /n "$pname" /q'
 MessageBox MB_ICONINFORMATION|MB_OK '安装成功,如有问题,请和本人联系'
 
FunctionEnd

 

免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。丨本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途。丨本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权BY-NC-SA协议进行授权

转载请注明:永恒心锁-分享互联网 » NSIS一键安装网络打印机

您必须 登录 才能发表评论!