#Region ;**** 编译指令由 AutoIt3Wrapper 选项编译窗口创建 ****
#AutoIt3Wrapper_Icon=favicon.ico
#AutoIt3Wrapper_Compile_Both=y
#EndRegion ;**** 编译指令由 AutoIt3Wrapper 选项编译窗口创建 ****
#cs ---------------------------------------------------------------------------- Version: 1.0
Author: MaJunyi #ce ----------------------------------------------------------------------------
#include <StringConstants.au3> ; for 正则表达式
#include <GUIConstantsEx.au3> ; for GUI
#include <WinAPIShellEx.au3>; for winShell
#include <InetConstants.au3>; for download
; CPL文件,又叫控制面板项(Control Panel Item),多保存于系统安装目录的system32文件夹下,它们分别对应着控制面板中的项目 ; 优化:
; . 可以添加一号楼绝大部分打印机
; . 可添加二号楼3..5楼打印机
; . 可进入---控制面板\所有控制面板项\设备和打印机(control printers)
; 不足:
; . 暂未添加用户名至网络打印机
; . 打印楼层单一 $headlabel = "打印机添加和安装"
GUICreate($headlabel, , )
$okbutton = GUICtrlCreateButton("确认安装", , , , )
$localPrintBtn = GUICtrlCreateButton("已安装的打印机", , , , )
$printDriverBtn = GUICtrlCreateButton("打印机驱动", , , , ) $guiTop = GUICtrlCreateLabel("请选择您的位置:", , $guiTop)
$guiTop+=
Local $idRadio1 = GUICtrlCreateRadio("一号楼", , $guiTop)
$guiTop1 = $guiTop
$guiTop+=
Local $idRadio231 = GUICtrlCreateRadio("二号楼-3楼1", , $guiTop)
$guiTop231 = $guiTop
$guiTop+=
Local $idRadio232 = GUICtrlCreateRadio("二号楼-3楼2", , $guiTop)
$guiTop232 = $guiTop
$guiTop+=
Local $idRadio241 = GUICtrlCreateRadio("二号楼-4楼1", , $guiTop)
$guiTop241 = $guiTop
$guiTop+=
Local $idRadio242 = GUICtrlCreateRadio("二号楼-4楼2", , $guiTop)
$guiTop242 = $guiTop
$guiTop+=
Local $idRadio25 = GUICtrlCreateRadio("二号楼-5楼", , $guiTop)
$guiTop25 = $guiTop ; 检测是否云桌面
isCloudOrNot()
GUISetState(@SW_SHOW)
Sleep()
; 下载驱动
$printDriverIp = "\\xxx.xxx.xxx.xxx"
; GUICtrlCreateLabel("连接及下载打印机驱动,从" & $printDriverIp, , )
; Sleep()
; $openNetPrint = _WinAPI_ShellExecute ($printDriverIp)
; GUICtrlCreateLabel("尝试连接打印机(会显示打印机任务,需去打印机刷卡才会打印)", , )
; Sleep() ; GUICtrlCreateLabel("打开 " & $ctrlPrintShow, , ) ; net use \\xxx.xxx.xxx.xxx\eFollow_Printer /user:HEM100 ; Script Start - Add your code below here
; 检测是否云
Func isCloudOrNot()
Local $string0 = StringRegExp(@IPAddress1, '(172.xx.)(\d+.\d+)', $STR_REGEXPARRAYMATCH)
If Not @error Then
$isYun =
MsgBox(,'', '您是尊贵的云用户,不能添加打印机')
Else
If @error== Then
; Return "您不是云用户"
Return "正在为您添加打印机"
Else
Return "请联系开发人员,错误代码:" & @error
; : 正则表达式错误, 数组无效.
EndIf
EndIf
EndFunc Global $chooseRadio
Global $driverIp
Global $driverIpFile
$LianJieTipsLeft = While
$msg = GUIGetMsg()
Select
Case $msg = $idRadio1 And BitAND(GUICtrlRead($idRadio1), $GUI_CHECKED) = $GUI_CHECKED
$chooseRadio =
; MsgBox($MB_SYSTEMMODAL, 'Info', $chooseRadio)
GUICtrlCreateLabel("驱动服务器" & canConnectOrNot('xxx.xxx.xxx.xxx'), $LianJieTipsLeft, $guiTop1+)
Case $msg = $idRadio231 And BitAND(GUICtrlRead($idRadio231), $GUI_CHECKED) = $GUI_CHECKED
$chooseRadio = ;ok
$driverIpFile = "\UNIV_driver\Setup.exe"
$driverIp = "\\172.16.11.234"
GUICtrlCreateLabel("驱动服务器" & canConnectOrNot('xxx.xxx.xxx.xxx'), $LianJieTipsLeft, $guiTop231+)
Case $msg = $idRadio232 And BitAND(GUICtrlRead($idRadio232), $GUI_CHECKED) = $GUI_CHECKED
$chooseRadio = ;ok
$driverIpFile = "\UNIV_driver\essetup.exe"
$driverIp = "\\172.16.11.220"
GUICtrlCreateLabel("驱动服务器" & canConnectOrNot('xxx.xxx.xxx.xxx'), $LianJieTipsLeft, $guiTop232+)
Case $msg = $idRadio241 And BitAND(GUICtrlRead($idRadio241), $GUI_CHECKED) = $GUI_CHECKED
$chooseRadio = ;ok
$driverIpFile = "\UNIV_driver\Setup.exe"
$driverIp = "\\172.16.242.245"
GUICtrlCreateLabel("驱动服务器" & canConnectOrNot('xxx.xxx.xxx.xxx'), $LianJieTipsLeft, $guiTop241+)
Case $msg = $idRadio242 And BitAND(GUICtrlRead($idRadio242), $GUI_CHECKED) = $GUI_CHECKED
$chooseRadio = ;ok
$driverIpFile = "\UNIV_driver\essetup.exe"
$driverIp = "\\172.16.11.228"
GUICtrlCreateLabel("驱动服务器" & canConnectOrNot('xxx.xxx.xxx.xxx'), $LianJieTipsLeft, $guiTop242+)
Case $msg = $idRadio25 And BitAND(GUICtrlRead($idRadio25), $GUI_CHECKED) = $GUI_CHECKED
$chooseRadio = ;ok
$driverIpFile = "\UNIV_driver\Setup.exe"
$driverIp = "\\172.16.241.172"
GUICtrlCreateLabel("驱动服务器" & canConnectOrNot('xxx.xxx.xxx.xxx'), $LianJieTipsLeft, $guiTop25+)
Case $msg = $okbutton
If $chooseRadio == Then
MsgBox(,"","尝试连接打印机(会显示打印机任务,需去打印机刷卡才会打印)")
$openNetPrintFile = _WinAPI_ShellExecute ("\\xxx.xxx.xxx.xxx\eFollow_Printer")
ElseIf $chooseRadio > Then
$mLink = $driverIp & $driverIpFile
$openNetPrintFile = _WinAPI_ShellExecute ($mLink)
; downloadFile('printDriver.exe', "file://xxx.xxx.xxx.xxx/UNIV_driver/Setup.exe")
Else
MsgBox(,"","请选择您的位置")
EndIf
; ExitLoop
Case $msg = $localPrintBtn
; $ctrlPrintShow = "控制面板\硬件和声音\设备和打印机"
; $openPrintDir = _WinAPI_ShellExecute("::{2227A280-3AEA-1069-A2DE-08002B30309D}")
$openPrintDir = Run(@SystemDir & "\control.exe printers")
Case $msg = $printDriverBtn
$openNetPrintFile = _WinAPI_ShellExecute ("\\xxx.xxx.xxx.xxx")
Case $msg = $GUI_EVENT_CLOSE
; 关闭对话框事件
ExitLoop
EndSelect
WEnd ; 检测是否能连接上指定IP
Func canConnectOrNot($testIP)
; Ping网站,超时时间为 毫秒.
Local $iPing = Ping($testIP, )
If $iPing Then
Return "连接成功"
Else
;当函数执行失败时(返回 )@error 包含数值的具体信息:
If @error == Then
Return "离线"
ElseIf @error == Then
Return "无法到达"
ElseIf @error == Then
Return "目标错误"
ElseIf @error == Then
Return "其他错误-连接超时"
Else
Return "连接超时"
EndIf
EndIf
EndFunc Func downloadFile($mFile, $link)
ProgressOn("下载新版本:"&$mFile, "正在更新版本,请稍候...", "0%")
Local $i =
Do
Sleep()
;$i = $i+
$i = Round(FileGetSize($mFile)//)
; Update the progress value of the progress bar window.
ProgressSet($i, $i & "%")
Until InetGetInfo($link, $INET_DOWNLOADCOMPLETE)
; Set the "subtext" and "maintext" of the progress bar window.
ProgressSet(, "更新完成", "Complete")
Sleep()
; Close the progress window.
ProgressOff()
EndFunc

基于AutoIt3的打印机安装的更多相关文章

  1. 【申嵌视频】基于VMWare虚拟机下安装ubuntu操作系统的详细步骤

    [申嵌视频]基于VMWare虚拟机下安装ubuntu操作系统 适合搭建mini2440, Tiny6410, smart210,Tiny4412, NanoPC-T2, NanoPC-T3, Nano ...

  2. 树莓派进阶之路 (035) - 基于linux的zsh安装脚本

    基于linux的zsh安装脚本: Ubuntu版本: #!/bin/sh cd #安装zsh sudo apt-get install zsh #查看zsh cat /etc/shells #更改zs ...

  3. 基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本)

    基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.选择CDH版本 1>.确认 ...

  4. 基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本)

    基于yum的方式安装Cloudera Manager Server(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装和配置元数据库 1>. ...

  5. Mysql安装 ----> 基于源码包安装

    1)基于源码包安装MySQL [root@localhost ~]# rpm -q mysql mysql-server mariadb mairadb-server           //检查有没 ...

  6. ActiveMQ此例简单介绍基于docker的activemq安装与集群搭建

    ActiveMQ拓展连接 此例简单介绍基于Docker的activemq安装与集群搭建 一 :安装 1.获取activemq镜像 docker pull webcenter/activemq 2.启动 ...

  7. windows平台下基于VisualStudio的Clang安装和配置

    LLVM 是一个开源的编译器架构,它已经被成功应用到多个应用领域.Clang是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程 ...

  8. 基于kickstart定制自动化安装的linux镜像系统

    使用软件和平台 1.基于平台:                  Vmware workstation 8.0 2.基于系统镜像:               rhel-server-5.8-i386 ...

  9. 基于vue,打印机打印暂且处理

    基于vue单页面应用.暂且没找到合适的方案,什么vue-print  .jquery.print.js.jqprint.js..canvas生成图片啊 大多不能保证页面样式保持原样. 所以,选择了最土 ...

随机推荐

  1. Spring_总结

    spring配置Bean 配置形式 基于XML文件的方式 属性注入 构造注入 泛型依赖注入 基于注解的方式 配置方式 全类名(反射) 通过工厂方法 FactoryBean 字面值 <![CDAT ...

  2. JMeter 参数意义

    样本数目:运行时得到的取样器响应结果个数 最新样本:最近一个取样器结果的响应时间 平均:所有取样器结果的响应时间平均值 偏离:所有取样器结果的响应时间标准差 吞吐量:每分钟响应的取样器结果个数 中值: ...

  3. cat、head、tail、more和less命令(文件内容浏览)

    一.cat命令 cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容. 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容.因此,一般用more等命令分屏显 ...

  4. 微信小程序组件——bindtap和catchtap的区别

    了解知识点 DOM模型是一个树形结构,在DOM模型中,HTML元素是有层次的.当一个HTML元素上产生一个事件时,该事件会在DOM树中元素节点与根节点之间按特定的顺序传播,路径所经过的节点都会收到该事 ...

  5. navicat 导入SQL文件出错

    1.新建数据库 在数据库名或者表名上右键  运行SQL语句 2.去掉对勾 F5刷新则可以发现导入的表.

  6. Java练习 SDUT - 2669_2-2 Time类的定义

    2-2 Time类的定义 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 通过本题目的练习可以掌握类与对象的定义: 设计 ...

  7. [牛腩]如何关闭.net framework4.0的请求验证 标签: 发布 2015-07-31 09:27 887人阅读 评论(38)

    敲牛腩的时候,点击运行提示:从客户端中检测到有潜在危险的 Request.Form 值,感觉自己代码敲的并没有问题,于是开始各种查,下面分享一下我对此进行的研究. 为什么会报这个错误? 在 Web 应 ...

  8. Java练习 SDUT-2585_机器人II

    机器人II Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 自从xiao_wu发明了只能向左转与向右转的机器人以后,热血 ...

  9. Python深入:01内存管理

            在Python中,一切都是指针. 一:对象三特性         所有的Python对象都有三个特性:身份,类型和值.         身份:每一个对象都有一个唯一的身份标识,任何对象 ...

  10. 「POI2012」约会 Rendezvous

    #2691. 「POI2012」约会 Rendezvous 这题我简直不想说什么了,什么素质,卡常数…… “每个顶点有且仅有一条出边”,所以是一道基环树的题,首先tarjan缩点,在缩完点后的图上求a ...