C# 获取打印机列表以及串口

简介: C# 获取打印机列表以及默认打印机、串口列表。   /// /// 获取本地已安装的打印机 /// /// public string GetPrinter() { string strList = ""; System.

C# 获取打印机列表以及默认打印机、串口列表。

 

/// <summary>
        /// 获取本地已安装的打印机
        /// </summary>
        /// <returns></returns>
        public string GetPrinter()
        {
            string strList = "";
            System.Drawing.Printing.PrinterSettings.StringCollection PrinterList = System.Drawing.Printing.PrinterSettings.InstalledPrinters;
            foreach (var item in PrinterList)
            {
                strList += item + ",";
            }
            return strList;
        }


        /// <summary>
        /// 获取默认打印机
        /// </summary>
        /// <returns></returns>
        public string GetDefault() 
        {
            System.Drawing.Printing.PrintDocument p = new System.Drawing.Printing.PrintDocument();
            return p.DefaultPageSettings.PrinterSettings.PrinterName;
        }

        /// <summary>
        /// 获取可用的端口
        /// </summary>
        /// <returns></returns> 
        public static List<string> GetComList()
        {
            List<string> ComList = new List<string>();
            Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
            foreach (string s in pc.Ports.SerialPortNames)
            {
                ComList.Add(s);
            }
            return ComList;
        }
相关文章
|
8月前
|
物联网 数据处理 C#
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据。在自动化、物联网以及工业控制行业中,上位机开发是一项重要的技能。本教程主要介绍使用C#进行上位机开发,重点在于串口通信和数据处理。
1451 82
|
C#
C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法
原文:C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法 以前这个问题困扰我多天最后查资料一大堆,最后最终攻克了,看到非常多人做C#串口都遇到相同的问题,所以写一篇博文,以便学习交流。
3685 0
|
C# Windows
C# 串口关闭时主界面卡死原因分析
串口程序关闭导致界面卡死的原因是主线程与辅助线程间的死锁。问题出在`SerialPort.Close()`方法与`DataReceived`事件处理程序。`DataReceived`事件在`lock (stream)`块中执行,而`Close()`方法会关闭`SerialStream`并锁定自身。当辅助线程处理数据并尝试更新UI时,UI线程因调用`Close()`被阻塞,造成死锁。解决办法是让`DataReceived`事件处理程序使用`this.BeginInvoke()`异步更新界面,避免等待UI线程,从而防止死锁。
|
数据库 C#
C# GridControl列表动态赋值
C# GridControl列表动态赋值
316 3
C# GridControl列表动态赋值
基于C#的ArcEngine二次开发51:获取图层字段唯一值列表(Get Unique Values)
基于C#的ArcEngine二次开发51:获取图层字段唯一值列表(Get Unique Values)
基于C#的ArcEngine二次开发51:获取图层字段唯一值列表(Get Unique Values)
⭐️C# 零基础到进阶⭐️| 字典和列表 相互嵌套使用 的终极总结!
字典和列表 相互嵌套 📢前言 🏳️‍🌈字典 字典嵌套字典 字典嵌套列表 🏳️‍🌈列表 列表嵌套列表 列表嵌套字典 👥总结
|
缓存 网络协议 C#
[连载]《C#通讯(串口和网络)框架的设计与实现》- 5.串口和网络统一IO设计
目       录 第五章           串口和网络统一IO设计... 2 5.1           统一IO接口... 2 5.1.1    串口IO.. 4 5.1.2    网络IO.
1663 0
|
分布式数据库 API
C# API方式串口读写
我的串口程序修改为API方式后,实际发现与SerialPort类遇到同样的问题,所以SerialPort类还是值得信任的。该API方式的代码在WinCE平台和PC平台都调试通过
1146 0
|
C# 缓存
C# 串口类SerialPort的使用方法
序言:最近做了一个智能体育项目——跆拳道积分系统,硬件部分会向软件传入振动值等数据,链接方式为串口,所以用到SerialPort类。 值得注意的是:   DataReceived 方法,当串口缓冲区有数据时执行该方法。
2714 0