以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何判断打印机服务是否关闭?如已关闭,如何打开?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68386)

--  作者:yinyb36
--  发布时间:2015/5/16 11:11:00
--  [求助]如何判断打印机服务是否关闭?如已关闭,如何打开?
如题
--  作者:Bin
--  发布时间:2015/5/16 11:12:00
--  
直接用Try Catch  圈住代码 方便http://www.foxtable.com/help/topics/2070.htm
--  作者:yinyb36
--  发布时间:2015/5/16 11:17:00
--  
如果打印机服务已关闭,没有错误,但无法打开打印
--  作者:yinyb36
--  发布时间:2015/5/16 11:17:00
--  
Try无效
--  作者:Bin
--  发布时间:2015/5/16 11:23:00
--  
If System.Drawing.Printing.PrinterSettings.InstalledPrinters.Count <= 0 Then
    MessageBox.Show( "没找到打印机 ")
Else
    Dim ps As New System.Drawing.Printing.PrinterSettings
    Dim printName As String
    For Each printName In System.Drawing.Printing.PrinterSettings.InstalledPrinters
        ps.PrinterName = printName
        MessageBox.show("默认打印机:" & ps.IsDefaultPrinter & "; 是否可用:" & ps.IsValid)
    Next
End If

希望能帮到你

--  作者:yinyb36
--  发布时间:2015/5/16 13:01:00
--  
打印机服务已关闭时,出错

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150516125932.png
图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2015/5/16 13:47:00
--  
这个错误很好解决.在BeforeShowErrorMessage事件

If e.Message2.StartsWith("RPC") then
  messagebox.show("RPC服务未开启")
  e.cancel=true
end if