Autoit3 自动添加打印机

从网上找的代码进行了修改!!如下

ProgressOn("处理中,请稍候...BY:天祈", "", "", -1, -1, 2 + 16)
ProgressSet(0, "已完成 0%", "正在创建变量...")
$fileURL[email protected] & "userprint.ini"
;MsgBox(0, "", $fileURL)
If (FileExists($fileURL)==0)Then
IniWrite($fileURL,"print","SetPrinterIP","定义打印机IP地址")
IniWrite($fileURL,"print","SetPrinterName","定义打印机名称可任意更改")
IniWrite($fileURL,"WIN7_32","drvpatch","打印机驱动所在位置")
IniWrite($fileURL,"WIN7_32","SetPrinterDriver","定义打印机驱动选择")
IniWrite($fileURL,"WIN7_64","drvpatch","")
IniWrite($fileURL,"WIN7_64","SetPrinterDriver","")
IniWrite($fileURL,"WIN_XP","drvpatch","")
IniWrite($fileURL,"WIN_XP","SetPrinterDriver","")
Exit
EndIf
Sleep(300)
$SetPrinterIP = IniRead($fileURL,"print","SetPrinterIP","")                  ;定义打印机IP地址
$SetPrinterName = IniRead($fileURL,"print","SetPrinterName","")              ;定义打印机名称"任意更改"
If @OSVersion="WIN_7" Then
    If @OSArch="X86" Then
        $drvpatch = IniRead($fileURL,"WIN7_32","drvpatch","")                          ;打印机驱动所在位置
        $SetPrinterDriver= IniRead($fileURL,"WIN7_32","SetPrinterDriver","")           ;定义打印机驱动选择
    Else
        $drvpatch = IniRead($fileURL,"WIN7_64","drvpatch","")                          ;打印机驱动所在位置
        $SetPrinterDriver= IniRead($fileURL,"WIN7_64","SetPrinterDriver","")           ;定义打印机驱动选择
    EndIf
    EndIf
If @OSVersion="WIN_XP" Then
        $drvpatch = IniRead($fileURL,"WIN_XP","drvpatch","")                          ;打印机驱动所在位置
        $SetPrinterDriver= IniRead($fileURL,"WIN_XP","SetPrinterDriver","")           ;定义打印机驱动选择
EndIf
        $Patch = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\"
        $Patch001 = "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\"
        $i = 1
        $s = ""
ProgressSet(10, "已完成 10%", "正在检测端口信息...")
Sleep(300)
        Do
                $Var = RegEnumKey($Patch, $i)
                $i = $i + 1
                $s = $s & $Var& "/"
ProgressSet(10 + $i, "已完成 " & 10 + $i& "%", "正在检测端口信息...")
Sleep(300)
        Until StringLeft($Var, 3) <> "IP_"

        $x = StringInStr($s, "IP_" & $SetPrinterIP)
        $PortName = "IP_" & $SetPrinterIP
        $NewPatch = $Patch & $PortName
        $NewPatch001 = $Patch001 & $PortName
ProgressSet(20, "已完成 20%", "正在检测端口是否存在...")
Sleep(300)
        If $x = 0 Then
ProgressSet(30, "已完成 30%", "端口不存在,在正在创建端口...")
Sleep(300)
RegWrite($NewPatch)
RegWrite($NewPatch, "Protocol", "REG_DWORD", "00000001")
RegWrite($NewPatch, "Version", "REG_DWORD", "00000001")
RegWrite($NewPatch, "HostName", "REG_SZ", "")
RegWrite($NewPatch, "IPAddress", "REG_SZ", $SetPrinterIP)
RegWrite($NewPatch, "HWAddress", "REG_SZ", "")
RegWrite($NewPatch, "PortNumber", "REG_DWORD", "9100")
RegWrite($NewPatch, "SNMP Community", "REG_SZ", "public")
RegWrite($NewPatch, "SNMP Enabled", "REG_DWORD", "00000001")
RegWrite($NewPatch, "SNMP Index", "REG_DWORD", "00000001")
ProgressSet(50, "已完成 50%", "端口不存在,正在创建端口...")
Sleep(300)
RegWrite($NewPatch001)
RegWrite($NewPatch001, "Protocol", "REG_DWORD", "00000001")
RegWrite($NewPatch001, "Version", "REG_DWORD", "00000001")
RegWrite($NewPatch001, "HostName", "REG_SZ", "")
RegWrite($NewPatch001, "IPAddress", "REG_SZ", $SetPrinterIP)
RegWrite($NewPatch001, "HWAddress", "REG_SZ", "")
RegWrite($NewPatch001, "PortNumber", "REG_DWORD", "9100")
RegWrite($NewPatch001, "SNMP Community", "REG_SZ", "public")
RegWrite($NewPatch001, "SNMP Enabled", "REG_DWORD", "00000001")
RegWrite($NewPatch001, "SNMP Index", "REG_DWORD", "00000001")
ProgressSet(65, "已完成 65%", "正在启动打印服务...")
;RunWait(@ComSpec& " /c sc start spooler", "", @SW_HIDE)
   $PIDcopy=Run(@ComSpec& " /c sc start spooler", "", @SW_HIDE)
   ProcessWaitClose($PIDcopy)
ProgressSet(70, "已完成 70%", "准备添加打印机...")
Sleep(300)
        Else
ProgressSet(80, "已完成 60%", "端口已经存在,准备添加打印机...")
Sleep(300)
EndIf
ProgressSet(90, "已完成 90%", "正在添加打印机...")
RunWait(@ComSpec& ‘ /c rundll32 printui.dll,PrintUIEntry /if /b "‘ & $SetPrinterName& ‘" /f ‘& $drvpatch&‘ /r "‘ & $PortName& ‘" /m "‘ & $SetPrinterDriver& ‘"‘, "", @SW_HIDE)
        ;MsgBox (0,"注意","添加打印机完毕!")
Sleep(300)
ProgressSet(100, "已完成 100%", "添加打印机完毕!")
ProgressOff()
MsgBox(0, "", "添加完毕!")
Run("RUNDLL32 SHELL32.DLL,SHHelpShortcuts_RunDLL PrintersFolder")
时间: 2024-08-29 06:40:52

Autoit3 自动添加打印机的相关文章

自动添加打印机

1 /* 2 * Name :ConnectPrinter.c 3 * Author :null 4 * Date :07/19/2018 5 * Purpose:本程序是一个用于自动连接打印机的小程序,目的在于减轻管理员的日常管理工作. 6 * 只需要将此小程序发给局域网内需要连接打印机的同事,即可自动连接相应的打印机.当然, 7 * 需要事先在打印主机上安装 64 和 32 位的驱动程序,以便运行不同操作系统的机器顺利连接. 8 */ 9 10 /* 加这一行是因为使用 MinGW 进行编译

[daily] linux添加打印机

只用过HP的打印机,用过两个,分别是:HP_p2055dn, 和 HP_LaserJet_Professional_M1216nfh  别的不知道.以下内容仅试用于HP打印机. 第一:装HP,打印机工具 pacman -S hplip 这个包,自带配置工具和打印机驱动. 其实,装这个就能用了,然后使用自带工具hp-toolbox,hp-setup之类的一设置. 不过在几年前使用第一台打印机2055的时候,我还不太懂,所以学习了一个开放的打印机接入服务cups(到底是干啥的,我也并不太知道),cu

mac OS X:[11]如何添加打印机

苹果菜单中,单击下拉列表中的『系统偏好设置』: 或在Dock上,单击『系统偏好设置』图标. 2 在『系统偏好设置』窗口中,单击『打印机与扫描仪』图标. 3 在『打印机与扫描仪』窗口中,单击打印机框架下的『+』号按钮. 4 在加号『+』按钮的下拉菜单中,点击『添加打印机或扫描仪』. 5 在『添加』窗口中,单击『IP』选项卡: »『地址』:输入IP地址或者主机名:(IP地址:192.168.1.101 或 主机名:[email protected]) »『协议』: 互联网打印协议 - IPP:现代打

keepalived启动后iptables自动添加Drop规则

keepalived 在启动后如果参数配置不当,会在iptables中自动添加一条DROP VIP的规则.这里的一些参数可能会造成这个问题. 1.在配置中添加了strict 或 noaccept参数. 2.在全局配置下使用了vrrp_strict 参数.此参数为严格控制VRRP协议,不支持单播模式,注释掉此选项,将不会默认添加DROP规则.

PADS技巧--自动添加泪点

为PADS添加泪点,这样可以保证焊盘与走线之间的连接,同时提高了电器性能.添加方法:“Tools”下选择“option”(或者直接快捷键“Ctrl+Enter”),然后如下图所示勾选“Generate teardrops”选项.这样系统会自动给已有的焊盘添加泪珠,此后的布线也会自动在焊盘的连接处产生泪珠.如下图所示, 焊盘如下图所示, PADS技巧--自动添加泪点,布布扣,bubuko.com

Linux命令:自动添加用戶

1.自动添加10用戶: #adminuser.sh #!/bin/bash # if [ $1 == '--add' ]; then forI in {1..10}; do if id user$I &> /dev/null; then echo "user$I exists." else useradd user$I echo user$I | passwd --stdin &> /dev/null echo "add user$I finish

struts2 去掉自动添加的 html

引入Struts2 框架后,在原有html代码上自动添加了大量的table.tr.等标签,去掉方法如下: 在struts2的配置文件struts.xml中添加下面的语句: <constant name="struts.ui.theme" value="simple"></constant> 意思为使用简单主题:

Oracle自动添加列

Oracle数据库的表格怎样才能想MySQL一样整数主键拥有自动增加功能呢? 前提你得创建一个表 create table tab{ id number not null primary key,--主键 . . . } 然后,得创建一个序列 -- Create sequence create sequence SEQ_tab --- SEQ_tab序列的名称 minvalue 1 --输入最小值 maxvalue 99999999999999999999999 --输入的最大值 start w

Provisioning Services 7.8 入门系列教程之八 自动添加设备

续Provisioning Services 7.8 入门系列教程之七 批量导入设备 对于批量导入设备,其最大的缺点是在导入前,必须准确记录所有设备的MAC地址.当然,这种方式也有许多方便之处,如可以将不同的设备添加到不同地站点.不同的集合. 下面介绍第三种方式:通过自动添加向导完成设备的添加 使用自动添加向导 自动添加向导可以自动配置各种规则,以便利用自动添加功能将新的目标设备自动添加到 Provisioning Services 数据库中. 可以在场.站点.集合或设备级别启动自动添加向导.