c#通过程序将文件直接送到打印机打印

using System.IO;
using System.Diagnostics ;

private void Send2Printer(string fileName)
  {
   Process p = new Process();

   try
   {
    p.StartInfo.FileName = fileName;
    p.StartInfo.WorkingDirectory =( new  FileInfo(fileName)).DirectoryName;
    p.StartInfo.CreateNoWindow = true;
    p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    p.StartInfo.Verb = "Print";
    p.Start();

    if(!p.HasExited)
    {
     p.WaitForInputIdle(10000);
     int i = 1;
     bool running = true;

     while (running && i<=20)
     {
      System.Threading.Thread.Sleep(500);
      if(p.HasExited)
      {
       running = false;
      }
      else
      {
       running = !p.CloseMainWindow();
      }
    
      i++;
     }

     if ( running && !p.HasExited )
      p.Kill();

    }
 
    p.Dispose();

       }
   catch(Exception ee)
   {
   }
  }

 

***********************************************************************************

 

Private Sub Send2Printer(ByVal fileName As String)
    Dim p As New Process()
   
    Try
        p.StartInfo.FileName = fileName
        p.StartInfo.WorkingDirectory = (New FileInfo(fileName)).DirectoryName
        p.StartInfo.CreateNoWindow = True
        p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
        p.StartInfo.Verb = "Print"
        p.Start()
       
        If Not p.HasExited Then
            p.WaitForInputIdle(10000)
            Dim i As Integer = 1
            Dim running As Boolean = True
           
            While running AndAlso i <= 20
                System.Threading.Thread.Sleep(500)
                If p.HasExited Then
                    running = False
                Else
                    running = Not p.CloseMainWindow()
                End If
               
                i += 1
            End While
           
            If running AndAlso Not p.HasExited Then
                p.Kill()
               
            End If
        End If
       
           
        p.Dispose()
    Catch ee As Exception
    End Try
End Sub
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值