delphi 6/7中 如何同时让
              让打印机1 打印QiuckRep1中的内容, 
              让打印机2 打印QiuckRep2中的内容, 

解决方案 »

  1.   

    unit   chprin;   
        
      interface   
        
      uses   
          Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,   
          Dialogs,PRINTERS,   StdCtrls;   
        
      type   
          TForm1   =   class(TForm)   
              Button1:   TButton;   
              ComboBox1:   TComboBox;   
              Button2:   TButton;   
              Button3:   TButton;   
              PrintDialog1:   TPrintDialog;   
              PrinterSetupDialog1:   TPrinterSetupDialog;   
              procedure   Button1Click(Sender:   TObject);   
              procedure   ComboBox1Change(Sender:   TObject);   
              procedure   Button2Click(Sender:   TObject);   
              procedure   Button3Click(Sender:   TObject);   
          private   
              {   Private   declarations   }   
          public   
              {   Public   declarations   }   
          end;   
        
      var   
          Form1:   TForm1;   
        
      implementation   
        
      {$R   *.dfm}   
        
      procedure   TForm1.Button1Click(Sender:   TObject);   
      var   
          Device:   array[0..255]   of   Char;   
          Driver:   array[0..255]   of   char;   
          Port:   array[0..255]   of   char;   
          s   :   array[0..255]   of   Char;   
          hDeviceMode:   THandle;   
        
      begin   
          beep();   
          Printer.PrinterIndex   :=   ComboBox1.ItemIndex;   
          Printer.GetPrinter   (Device,   Driver,   Port,   hDeviceMode);   
          StrCopy   (s,   Device);   
          StrCat   (s,   ',');   
          StrCat   (s,   Driver);   
          StrCat   (s,   ',');   
          StrCat   (s,   Port);   
          WriteProfileString   ('windows',   'device',   s);   
          StrCopy   (s,   'windows');   
          SendMessage   (HWND_BROADCAST,   WM_WININICHANGE,   0,   LongInt(@s));   
          ComboBox1.Items   :=   Printer.Printers;   {populates   ComboBox}   
          ComboBox1.ItemIndex   :=   Printer.PrinterIndex;     
      end;   
        
      procedure   TForm1.ComboBox1Change(Sender:   TObject);   
      var   
          Device:   array[0..255]   of   Char;   
          Driver:   array[0..255]   of   char;   
          Port:   array[0..255]   of   char;   
          s   :   array[0..255]   of   Char;   
          hDeviceMode:   THandle;   
        
      begin   
        
          Printer.PrinterIndex   :=   ComboBox1.ItemIndex;   
          Printer.GetPrinter   (Device,   Driver,   Port,   hDeviceMode);   
          StrCopy   (s,   Device);   
          StrCat   (s,   ',');   
          StrCat   (s,   Driver);   
          StrCat   (s,   ',');   
          StrCat   (s,   Port);   
          WriteProfileString   ('windows',   'device',   s);   
          StrCopy   (s,   'windows');   
          SendMessage   (HWND_BROADCAST,   WM_WININICHANGE,   0,   LongInt(@s));   
        
        
      end;  
      以前摘的,主要是就是更改默認打印機,然後再打印。
      

  2.   

    unit   chprin;   
        
      interface   
        
      uses   
          Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,   
          Dialogs,PRINTERS,   StdCtrls;   
        
      type   
          TForm1   =   class(TForm)   
              Button1:   TButton;   
              ComboBox1:   TComboBox;   
              Button2:   TButton;   
              Button3:   TButton;   
              PrintDialog1:   TPrintDialog;   
              PrinterSetupDialog1:   TPrinterSetupDialog;   
              procedure   Button1Click(Sender:   TObject);   
              procedure   ComboBox1Change(Sender:   TObject);   
              procedure   Button2Click(Sender:   TObject);   
              procedure   Button3Click(Sender:   TObject);   
          private   
              {   Private   declarations   }   
          public   
              {   Public   declarations   }   
          end;   
        
      var   
          Form1:   TForm1;   
        
      implementation   
        
      {$R   *.dfm}   
        
      procedure   TForm1.Button1Click(Sender:   TObject);   
      var   
          Device:   array[0..255]   of   Char;   
          Driver:   array[0..255]   of   char;   
          Port:   array[0..255]   of   char;   
          s   :   array[0..255]   of   Char;   
          hDeviceMode:   THandle;   
        
      begin   
          beep();   
          Printer.PrinterIndex   :=   ComboBox1.ItemIndex;   
          Printer.GetPrinter   (Device,   Driver,   Port,   hDeviceMode);   
          StrCopy   (s,   Device);   
          StrCat   (s,   ',');   
          StrCat   (s,   Driver);   
          StrCat   (s,   ',');   
          StrCat   (s,   Port);   
          WriteProfileString   ('windows',   'device',   s);   
          StrCopy   (s,   'windows');   
          SendMessage   (HWND_BROADCAST,   WM_WININICHANGE,   0,   LongInt(@s));   
          ComboBox1.Items   :=   Printer.Printers;   {populates   ComboBox}   
          ComboBox1.ItemIndex   :=   Printer.PrinterIndex;     
      end;   
        
      procedure   TForm1.ComboBox1Change(Sender:   TObject);   
      var   
          Device:   array[0..255]   of   Char;   
          Driver:   array[0..255]   of   char;   
          Port:   array[0..255]   of   char;   
          s   :   array[0..255]   of   Char;   
          hDeviceMode:   THandle;   
        
      begin   
        
          Printer.PrinterIndex   :=   ComboBox1.ItemIndex;   
          Printer.GetPrinter   (Device,   Driver,   Port,   hDeviceMode);   
          StrCopy   (s,   Device);   
          StrCat   (s,   ',');   
          StrCat   (s,   Driver);   
          StrCat   (s,   ',');   
          StrCat   (s,   Port);   
          WriteProfileString   ('windows',   'device',   s);   
          StrCopy   (s,   'windows');   
          SendMessage   (HWND_BROADCAST,   WM_WININICHANGE,   0,   LongInt(@s));   
        
        
      end;  
      以前摘的,主要是就是更改默認打印機,然後再打印。