主要就是在打印的时候,判断一下打印机是有连接, 有就打印,没有就提示"MessageBox.Show("没打印机");" 可是我无论我怎么判断都不行,有打印机的时候,直接就打印出来了, 
没有的时候,就停在那里,卡着. 判断语句不起作用......!用来判断的代码如下: C# code SafeFileHandle hFile = CreateFile(@"LPT1", GENERIC_READ | GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);            if (hFile.IsInvalid)
            {
                MessageBox.Show("有打印机");
                
            }
            else
            {
                MessageBox.Show("没打印机");
                return;
            }
 
 
 

解决方案 »

  1.   

    hFile.IsInvalid  这个不是有个返回值吗?它返回的一会是 true ,一会是 false  ,在没有打印机的时候,有打印机的时候,就一直返回false !!不知道是怎么回事!
      

  2.   

    你只是判断"lpt1" ,并不是判断打印机lpt1 只是并口,不一定是打印机
      

  3.   

    这个要怎么用呢?
    我现在的这种打印方式是:读字符串,直接写到端口打印的,用的是热敏打印机.打印机是LPT1接口的.
      

  4.   

     PrintDocument.PrinterSettings.IsValid
      

  5.   

    晕,在C#里用C++的方式操作是超市收银的票据打印机吧.net系统就提供了这样的支持
    PrintDocment
      

  6.   

    打印机是有个打开一个服务,你在程序中判断这个服务是否打开就好了。好像是cimm吧