c#怎么判断LPT1端口是否存在?

解决方案 »

  1.   

    打印机么?看看下面是否对你有帮助
           public void print(string str_Printer, short sho_printNum)
            {
                try
                {
                    PrintDocument pd = new PrintDocument();
                    pd.PrinterSettings.PrinterName = str_Printer;
                    pd.PrinterSettings.Copies = sho_printNum;
                    pd.PrintController = new StandardPrintController();
                    pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
                    if (pd.PrinterSettings.IsValid)
                    {
                        pd.Print();
                    }
                    else
                    {
                        MessageBox.Show("打印机连接错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }
      

  2.   

    有的笔记本没有LPT1端口的,会产生错误“参数无效”之类的东西,怎么解决能不能先看看有没有LPT1端口?
      

  3.   

    System.IO.Ports.SerialPort.GetPortNames(); 看看这个
      

  4.   

    LPT1是并口,不是串口。
    如果C#类库找不到相应的类,可以查询*Win32_ParallelPort*,比如name,deviceId等:using (ManagementObjectSearcher seacher = new ManagementObjectSearcher("select * from Win32_ParallelPort"))
    {
        foreach (ManagementObject item in seacher.Get())
        {
            StringBuilder sb = new StringBuilder();
            foreach (PropertyData data in item.Properties)
            {
                sb.AppendFormat("{0}:{1}\n", data.Name, data.Value);
            }
            MessageBox.Show(sb.ToString());
        }
    }
      

  5.   

    引用System.Management.dll在System.Management下