Foxtable(狐表)用户栏目专家坐堂 → 判断扫描仪


  共有2658人关注过本帖树形打印复制链接

主题:判断扫描仪

帅哥哟,离线,有人找我吗?
nxqtxwz
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
判断扫描仪  发帖心情 Post By:2020/1/20 13:24:00 [显示全部帖子]

请问我想加个判断,就是如果有扫描仪就执行扫描代码,如果判断没有扫描仪就提示并退出,如何判断是否有扫描仪呢?

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By: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"))

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/1/20 16:22:00 [显示全部帖子]

以下是引用有点蓝在2020/1/20 15:57:00的发言:
添加引用:http://www.foxtable.com/webhelp/topics/1936.htm

老师,添加和调用函数我明白。这个例子是检测打印机的,如何检测扫描仪呢?


 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/1/20 17:35:00 [显示全部帖子]

msgbox(Functions.Execute("CheckedPrinter","这里改为扫描仪的名称,一样在系统控制面板设备和打印机里"))

 

改为扫描仪名称?我觉着扫描仪应该是通用的,不应该是特定的扫描仪。因为又不是在一台计算机上用。

正因为是想着通用的,所以不知代码怎么写。
TwainGui

[此贴子已经被作者于2020/1/20 17:37:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/1/20 17:50:00 [显示全部帖子]

唉,放弃。弄不明白。


 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/1/21 10:34:00 [显示全部帖子]

以下是引用有点蓝在2020/1/20 20:20:00的发言:
系统控制面板设备和打印机里显示什么内容?能不能看到连接的扫描仪?

在开始菜单中显示:HP scan

在设备和打印机中显示:HP LaserJet MFP M129-M134


 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/1/21 10:47:00 [显示全部帖子]

以下是引用有点蓝在2020/1/21 10:40:00的发言:
那么msgbox(Functions.Execute("CheckedPrinter","HP LaserJet MFP M129-M134"))能不能正常显示是否连接状态?

老师,我做的这个是个网络的,项目很多人在用,他们可能用的扫描仪不一样。我的想法是不管什么扫描仪,能调用就行。如果直接判断一指定的扫描仪,会不会就我这台能用,其它人都不能用呢。


 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/1/21 11:00:00 [显示全部帖子]

以下是引用有点蓝在2020/1/21 10:40:00的发言:
那么msgbox(Functions.Execute("CheckedPrinter","HP LaserJet MFP M129-M134"))能不能正常显示是否连接状态?

老师,显示打印机正常!

[此贴子已经被作者于2020/1/21 11:02:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/1/21 11:06:00 [显示全部帖子]

以下是引用有点蓝在2020/1/21 11:03:00的发言:
命令窗口执行看看这台电脑安装的所有打印设备名称

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)
Next

npi7cdae5 (hp laserjet mfp m132nw) (副本 1)
npi7cdae5 (hp laserjet mfp m132nw)
microsoft xps document writer
hp laserjet mfp m129-m134 pclms (网络副本 1)   '我的打印机
hp laserjet mfp m129-m134 pclms
hp color laserjet cp5220 series pcl 6
fax
\\210-3\hp deskjet 5810 series

 

[此贴子已经被作者于2020/1/21 11:07:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
nxqtxwz
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1492 积分:12149 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/1/21 11:25:00 [显示全部帖子]

以下是引用有点蓝在2020/1/21 11:13:00的发言:
msgbox(Functions.Execute("CheckedPrinter","hp laserjet mfp m129-m134 pclms (网络副本 1)"))

显示打印机正常。


 回到顶部
总数 12 1 2 下一页