枚举打印机(winapi)

作者:袖梨 2022-07-02
using System;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
namespace Sample.GetPrinter
{
class App
{
static void Main(string[] args)
{
Console.WriteLine("请输入你想搜索类型的序号:");
Console.WriteLine("1. Default printer(only Win95,Win98,WinME) 2. Enumerates the locally installed printers; 3. Enumerates the list of printers to which the user has made previous connections; 4. Enumerates the printer identified by Name.; 5. Enumerates network printers and print servers in the computer's domain; 6. Enumerates printers that have the shared attribute; 7. Enumerates network printers in the computer's domain; ======================================================================");

int pt =0;
try
{
pt=Int32.Parse(Console.ReadLine());
}
catch(Exception e)
{
Console.WriteLine("错误信息: {0}",e.Message);
return;
}
PRINTER_ENUM printerKind = GetPrinterConType(pt);
PrinterSearcher p = new PrinterSearcher();
PrinterSearcher.PrinterInfo[] printers = p.Search(printerKind);
foreach(PrinterSearcher.PrinterInfo pi in printers)
{
Console.WriteLine("===================================== 打印机名: {0} 描叙:: {1} 注释: {2} ===================================== ",
pi.Name, pi.Description, pi.Comment);
}
}
static PRINTER_ENUM GetPrinterConType(int ins)
{
switch(ins)
{

相关文章

精彩推荐