栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

如何在VB.NET中查询所有打印机端口名称,端口号ne

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在VB.NET中查询所有打印机端口名称,端口号ne

文章目录
  • 一、如何在VB.NET中查询所有打印机端口名称
  • 二、使用步骤
    • 1.引用
    • 2.读入数据
  • 总结


一、如何在VB.NET中查询所有打印机端口名称

本来想查询所有打印机的端口号 就是NE01 NE02这种,但是目前还没有办法,只能找到通过win32.printer查询打印机端口名称已经其他的属性.以后如果找到端口号的方法会更新进来.留给自己看的

二、使用步骤 1.引用

代码如下(示例):项目,添加引用里添加System.Management,以及system.drawing两个

Imports System.Management
2.读入数据

代码如下(示例):在combox1中列出所有打印机的端口名称

        Dim strQuery As String = String.Format("SELECt * from Win32_Printer")
        Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(strQuery)
        Dim printers As ManagementObjectCollection = searcher.Get()
        Dim printer As ManagementBaseObject

        '//显示所有打印机的属性
        For Each printer In printers

            ComboBox1.Items.Add(printer.Properties.Item("portname").Value)
        Next

下面是在网上找的VB的查询端口号的方法,我改成VB.net 能用的
(1)NEXX 我的理解是系bai统分配给每个打印机的一个端口的名称。从 NE00 开始编起。
你可以在以下注册表路径找到你的机子上所有已经安装的打印机的对应端口:
HKEY_CURRENT_USER-----SOFTWARE------MICROSOFT----WINDOWS NT---------CURRENTVERSION--------PRINTERPORS
(2)以下代码可以实现遍历你机子的打印机端口,并根据你的要求,将 ACTIVEPRINTER 设置到你想要的打印机


Sub FindPrinter()
	   
        Dim arrSubKeys
        Dim kk
        Dim pa
        On Error Resume Next
        Dim objRegistry = GetObject("winmgmts:\.rootdefault:StdRegProv")
        objRegistry.EnumValues(&H80000001, "SoftwareMicrosoftWindows NTCurrentVersionPrinterPorts", arrSubKeys)
        For Each subkey In arrSubKeys
            objRegistry.GetStringValue(&H80000001, "SoftwareMicrosoftWindows NTCurrentVersionPrinterPorts", subkey, kk)
            pa = subkey & " 在 " & Mid(kk, InStr(kk, ",") + 1, InStr(kk, ":,") - InStr(kk, ","))

            ComboBox1.Items.Add(pa)
        Next
        ComboBox1.Text = pa

end sub
总结

代码里Portname表示端口名称 其他是属性可以在下面列表中提取
uint32 Attributes;
uint16 Availability;
string AvailableJobSheets[];
uint32 AveragePagesPerMinute;
uint16 Capabilities[];
string CapabilityDescriptions[];
string Caption;
string CharSetsSupported[];
string Comment;
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
string CreationClassName;
uint16 CurrentCapabilities[];
string CurrentCharSet;
uint16 CurrentLanguage;
string CurrentMimeType;
string CurrentNaturalLanguage;
string CurrentPaperType;
boolean Default;
uint16 DefaultCapabilities[];
uint32 DefaultCopies;
uint16 DefaultLanguage;
string DefaultMimeType;
uint32 DefaultNumberUp;
string DefaultPaperType;
uint32 DefaultPriority;
string Description;
uint16 DetectedErrorState;
string DeviceID;
boolean Direct;
boolean DoCompleteFirst;
string DriverName;
boolean EnableBIDI;
boolean EnableDevQueryPrint;
boolean ErrorCleared;
string ErrorDescription;
string ErrorInformation[];
uint16 ExtendedDetectedErrorState;
uint16 ExtendedPrinterStatus;
boolean Hidden;
uint32 HorizontalResolution;
datetime InstallDate;
uint32 JobCountSinceLastReset;
boolean KeepPrintedJobs;
uint16 LanguagesSupported[];
uint32 LastErrorCode;
boolean Local;
string Location;
uint16 MarkingTechnology;
uint32 MaxCopies;
uint32 MaxNumberUp;
uint32 MaxSizeSupported;
string MimeTypesSupported[];
string Name;
string NaturalLanguagesSupported[];
boolean Network;
uint16 PaperSizesSupported[];
string PaperTypesAvailable[];
string Parameters;
string PNPDeviceID;
string PortName;
uint16 PowerManagementCapabilities[];
boolean PowerManagementSupported;
string PrinterPaperNames[];
uint32 PrinterState;
uint16 PrinterStatus;
string PrintJobDataType;
string PrintProcessor;
uint32 Priority;
boolean Published;
boolean Queued;
boolean RawOnly;
string SeparatorFile;
string ServerName;
boolean Shared;
string ShareName;
boolean SpoolEnabled;
datetime StartTime;
string Status;
uint16 StatusInfo;
string SystemCreationClassName;
string SystemName;
datetime TimeOfLastReset;
datetime UntilTime;
uint32 VerticalResolution;
boolean WorkOffline;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955249.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号