以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  使用共享打印机,对方电脑关机了无法链接打印机后无法关闭提示窗口,  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=118836)

--  作者:ouyangfenghuan
--  发布时间:2018/5/11 21:03:00
--  使用共享打印机,对方电脑关机了无法链接打印机后无法关闭提示窗口,


图片点击可在新窗口打开查看此主题相关图片如下:011.png
图片点击可在新窗口打开查看
状态如图,是否有参数判断打印机状态

打印进程状态窗口无法关闭

[此贴子已经被作者于2018/5/11 21:06:12编辑过]

--  作者:有点蓝
--  发布时间:2018/5/11 21:33:00
--  
建一个内部函数,名称CheckedPrinter,外部引用添加:System.Management.dll

Dim name As String = args(0)
Dim scope As new System.Management.ManagementScope("\\root\\cimv2")
scope.Connect()
Dim searcher As new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_Printer")
Dim hasPrint As Boolean
For Each printer As System.Management.ManagementObject In searcher.Get()
    Dim printerName = printer("Name").ToString().ToLower()
    \'Output.Show(printerName)
    If printerName = name
        If printer("WorkOffline").ToString().ToLower() = "true"
            Return ("打印机【" & name & "】无法连接!")
        Else
            Return ("打印机正常!")
        End If
    End If
Next
Return "无此打印机"

调用
msgbox(Functions.Execute("CheckedPrinter","fax"))