以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 判断扫描仪 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145449) |
-- 作者:nxqtxwz -- 发布时间:2020/1/20 13:24:00 -- 判断扫描仪 请问我想加个判断,就是如果有扫描仪就执行扫描代码,如果判断没有扫描仪就提示并退出,如何判断是否有扫描仪呢? |
-- 作者:有点蓝 -- 发布时间:2020/1/20 13:50:00 -- 参考:http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=118836&replyID=802170&skin=1 |
-- 作者:nxqtxwz -- 发布时间:2020/1/20 15:54: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")) |
-- 作者:有点蓝 -- 发布时间:2020/1/20 15:57:00 -- 添加引用:http://www.foxtable.com/webhelp/topics/1936.htm |
-- 作者:nxqtxwz -- 发布时间:2020/1/20 16:22:00 -- 老师,添加和调用函数我明白。这个例子是检测打印机的,如何检测扫描仪呢? |
-- 作者:有点蓝 -- 发布时间:2020/1/20 16:31:00 -- 和打印机用法一样 |
-- 作者:nxqtxwz -- 发布时间:2020/1/20 17:35:00 -- msgbox(Functions.Execute("CheckedPrinter","这里改为扫描仪的名称,一样在系统控制面板设备和打印机里"))
改为扫描仪名称?我觉着扫描仪应该是通用的,不应该是特定的扫描仪。因为又不是在一台计算机上用。 正因为是想着通用的,所以不知代码怎么写。 [此贴子已经被作者于2020/1/20 17:37:40编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/1/20 17:37:00 -- 同一个设备安装后的名称应该都是固定的,到系统控制面板设备和打印机里看看。不同设备名称肯定不一样的,扫描仪也风型号的。不然一台电脑连接多台扫描仪要怎么区分呢 |
-- 作者:nxqtxwz -- 发布时间:2020/1/20 17:50:00 -- 唉,放弃。弄不明白。 |
-- 作者:有点蓝 -- 发布时间:2020/1/20 20:20:00 -- 系统控制面板设备和打印机里显示什么内容?能不能看到连接的扫描仪? |