vb.net 获取打印机状态

问题描述

求助高手!1、获取电脑是否有联机打印机,并将联机打印机设置为默认打印机(状态为“就绪”的打印机)。2、获取打印机状态,如果缺纸、缺墨、卡纸点。3、可以初始化打印机一些参数(打印机首选项)

解决方案

解决方案二:
单纯的网页想获取本地一切硬件信息都是徒劳无功的...只能通过ocx....
解决方案三:
是应用程序,并非WEB程序。
解决方案四:
有人能帮我吗?
解决方案五:
获取打印机状态vb源码:不知你是否下载过,这个对USB打印机没有作用
解决方案六:
不止以上那些,还要看看各个类型的打印机的接口,兼容,特别功能等。打印机,没那么简单。
解决方案七:
收藏的获取打印机相关信息代码,收藏后我还没使用过,你自己试下把usingMicrosoft.Win32;usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Drawing.Printing;usingSystem.Linq;usingSystem.Management;usingSystem.Text;usingSystem.Threading.Tasks;namespacePrintCellLite.Model.Print{classPrinterPropertyManager{///<summary>///获取打印机的Location///</summary>///<paramname="printerName">打印机名称</param>///<returns>返回一个字符串</returns>publicKeyValuePair<string,int>GetPrinterIPAndPort(stringprinterName){stringport=GetPortValue(printerName);if(string.IsNullOrEmpty(port)){returnnewKeyValuePair<string,int>();}//QueryportName'spropertyfromregeditstring[]portQuerys=GetPortQuerys(port);foreach(varportQueryinportQuerys){RegistryKeyportKey=Registry.LocalMachine.OpenSubKey(portQuery,RegistryKeyPermissionCheck.Default,System.Security.AccessControl.RegistryRights.QueryValues);if(portKey!=null){objectIPValue=portKey.GetValue("IPAddress",String.Empty,RegistryValueOptions.DoNotExpandEnvironmentNames);objectportValue=portKey.GetValue("PortNumber",String.Empty,RegistryValueOptions.DoNotExpandEnvironmentNames);if(IPValue!=null&&portValue!=null){returnnewKeyValuePair<string,int>(IPValue.ToString(),(Int32)portValue);}}}returnnewKeyValuePair<string,int>();}privatestring[]GetPortQuerys(stringportName){returnnewstring[]{@"SystemCurrentControlSetControlPrintMonitorsAdvancedPortMonitorPorts"+portName,@"SystemCurrentControlSetControlPrintMonitorsLocalPortPorts"+portName,@"SystemCurrentControlSetControlPrintMonitorsStandardTCP/IPPortPorts"+portName,@"SystemCurrentControlSetControlPrintMonitorsUSBMonitorPorts"+portName,@"SystemCurrentControlSetControlPrintMonitorsWSDPortPorts"+portName,};}privatestringGetPortValue(stringprinterName){stringport=string.Empty;//Queryprinter'sportNamefromWIN32_Printerstringquery=string.Format("SELECT*fromWin32_PrinterWHEREName='{0}'",printerName);ManagementObjectSearchersearcher=newManagementObjectSearcher(query);ManagementObjectCollectioncoll=searcher.Get();foreach(ManagementObjectprinterincoll){PropertyDataportNameProperty=printer.Properties["PortName"];if(portNameProperty!=null){port=portNameProperty.Value.ToString();}}returnport;}///<summary>///获取打印机名字的列表///</summary>///<returns>返回一个ArrayList</returns>publicArrayListgetPrinterName1(){ArrayListresult=newArrayList();foreach(stringssinPrinterSettings.InstalledPrinters){result.Add(ss);}returnresult;}///<summary>///返回一个整形值,所代表的意思是打印机状态///</summary>///<paramname="printerName">打印机名称</param>///<returns>返回一个int值</returns>publicintPrinterStatusInt(stringprinterName){intret=-1;stringpath=@"win32_printer.DeviceId='"+printerName+"'";ManagementObjectprinter=newManagementObject(path);printer.Get();ret=Convert.ToInt32(printer.Properties["PrinterStatus"].Value);returnret;}///<summary>///获取打印机状态///</summary>///<paramname="printerName">打印机名称</param>///<returns>返回一个字符串</returns>publicstringGetPrinterStatus(stringprinterName){intresult=PrinterStatusInt(printerName);stringstatus="";switch(result){case1:case2:status="Unknow";break;case3:status="Ready";break;case4:case7:status="Printing";break;case5:status="Warning";break;case6:status="Pause";break;case8:status="Offline";break;default:status="Error";break;}returnstatus;}enumPrinterStatus{Other=1,Unknow=2,Ready=3,Printing=4,Warming=5,Pause=6,Printing1=7,Offline=8}}}

解决方案八:
应该是可以的,好像在哪里见过,支持一下

时间: 2024-11-16 07:49:04

vb.net 获取打印机状态的相关文章

C# 获取打印机状态

问题描述 现在想做一个监控打印机状态的WPF用户控件.条形码打印机是斑马的ZDesignerGK888t(EPL).找了一天也没找到API.大家有什么方法得到打印机状态的没?或者有API的,求连接~. 解决方案 解决方案二:网上一大把解决方案三:引用楼主weichangqing00的回复: 现在想做一个监控打印机状态的WPF用户控件.条形码打印机是斑马的ZDesignerGK888t(EPL).找了一天也没找到API.大家有什么方法得到打印机状态的没?或者有API的,求连接~. 这里面的第二段,

WINFORM 使用API 获取打印机状态

问题描述 enumPrinterStatus{其他状态=1,未知,空闲,正在打印,预热,停止打印,打印中,离线}privatePrinterStatusGetPrinterStatus(stringPrinterDevice){PrinterStatusret=0;stringpath=@"win32_printer.DeviceId='"+PrinterDevice+"'";ManagementObjectprinter=newManagementObject(p

.Net中获取打印机的相关信息

原文:.Net中获取打印机的相关信息 新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. PrinterCommunicate用于连接打印机并发送指令 1 public class PrinterCommunicate 2 { 3 4 public bool CheckNetWorkConnection(string strPrinterIP, int intPrinterPort) 5 { 6 S

C# 如何获取打印机出错状态

问题描述 C#获取打印机出错的信息,网上的什么泥人张,以及泥人张加强版的就不要复制粘贴了.来真火力的技术大牛 解决方案 解决方案二:C#获取的是打印机出错信息,比如缺纸缺墨这两个

vb-VB检测打印机状态的函数总是返回空值?请问如何调用

问题描述 VB检测打印机状态的函数总是返回空值?请问如何调用 请教各位一个小问题: Public Function GetPrnStat(ByVal LptPort As String) As Long Dim PrnAddr As Long On Error Resume Next If IOStat = False Then IOStat = InitializeWinIo() If IOStat Then If UCase(LptPort) = "LPT1:" Then PrnA

获取打印机正在打印的数据

问题描述 获取打印机正在打印的数据 现在有一个需求,我的想法是写一个程序,一直监听打印机,如果有打印数据,先获取需要打印的数据,进行一定的加工然后再放回打印机继续打印.我现在只有这个想法但是不知道如何实现,请大神们提供一点思路,不限语言,越方便越好 解决方案 我也想要这答案,期待求解

asp.net(vb.net)获取真实IP的函数

aspx vb.net获取真实IP的函数如下: 复制代码 代码如下: <script runat="server"> Public Function CheckIp(ByVal ip As String) As Boolean Dim pat As String = "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$" Dim reg As Regex = New Regex(pat) if ip = "

C# 使用WIN32API获取打印机

打印 主要使用到winspool.drv中的EnumPrinters函数,代码如下: [DllImport("winspool.drv", SetLastError = true, CharSet = CharSet.Auto)] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool EnumPrinters ([MarshalAs(UnmanagedType.U4)] PRINTER_ENUM flags

开源项目-android volley获取http状态码的方法

问题描述 android volley获取http状态码的方法 本人android新手一个,在开发过程中使用的现在流行的volley开源项目,其中的需求中需要根据状态码进行操作.拜托了! 解决方案 Android_HTTP状态码介绍[Android笔记]Http状态码android http code响应码 状态码