網站首頁 編程語言 正文
方法一
第一步:添加引用
using System.Printing;
第二步:代碼
public static List<string> GetPrintList()
{
List<string> lt = new List<string>();
LocalPrintServer printServer = new LocalPrintServer();
PrintQueueCollection printQueuesOnLocalServer = printServer.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local });
foreach (PrintQueue printer in printQueuesOnLocalServer)
lt.Add(printer.Name);
return lt;
}
方法二
需要引入
System.Drawing.Printing
System.Management
實現
1.獲取打印機列表
2.獲取默認打印機
3.設置默認打印機
上代碼
public class PrinterExample
{
/// <summary>
/// 設置默認打印機
/// </summary>
/// <param name="Name"></param>
/// <returns></returns>
[DllImport("winspool.drv")]
public static extern bool SetDefaultPrinter(String Name); //調用win api將指定名稱的打印機設置為默認打印機
/// <summary>
/// 獲取默認打印機
/// </summary>
/// <returns></returns>
public static string GetDefaultPrinter()
{
PrintDocument print = new PrintDocument();
string defaultName = print.PrinterSettings.PrinterName;//默認打印機名
return defaultName;
}
/// <summary>
/// 獲取本地所有打印機
/// </summary>
/// <returns></returns>
public static List<String> GetLocalPrinters()
{
List<String> printer_names = new List<String>();
foreach (String item in PrinterSettings.InstalledPrinters)
{
printer_names.Add(item);
}
return printer_names;
}
/// <summary>
/// 獲取本地所有打印機 System.Management方式獲取
/// </summary>
/// <returns></returns>
public static List<String> GetLocalPrinters2()
{
List<String> printer_names = new List<String>();
ManagementObjectCollection queryCollection;
string _classname = "SELECT * FROM Win32_Printer";
Dictionary<string, ManagementObject> dict = new Dictionary<string, ManagementObject>();
ManagementObjectSearcher query = new ManagementObjectSearcher(_classname);
queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
{
string oldName = mo["Name"].ToString();
printer_names.Add(oldName);
}
return printer_names;
}
}
原文鏈接:https://www.cnblogs.com/edielei/p/4966366.html
相關推薦
- 2022-08-23 python?matplotlib畫圖時坐標軸重疊顯示不全和圖片保存時不完整的問題解決_python
- 2022-09-16 深度學習中shape[0]、shape[1]、shape[2]的區別詳解_python
- 2022-05-10 一次性解決:IDEA的 maven 配置問題,在新項目中不再擔心 maven 的配置問題
- 2022-04-28 SpringBoot?整合mongoDB并自定義連接池的示例代碼_MongoDB
- 2022-06-01 python中使用正則表達式的方法詳解_python
- 2022-06-19 mybatis-plus的sql語句打印問題小結_MsSql
- 2022-06-02 C++的智能指針你真的了解嗎_C 語言
- 2022-06-25 Android開發MediaCodec和lamemp3多段音頻截取拼接_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支