近来为客户做了一个条码打印程序,客户要求我的程序能够记住上次设置的打印机名称,以便在下一次打印条码时不要再重新设置打印,请各位帮我看看,怎样才能取得设置的打印机名称。先谢了!

解决方案 »

  1.   

    uses
         ....,Printers;//加上Printers
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ComboBox1.Clear;
      ComboBox1.Items.Assign(Printer.Printers);
    end;
    用INI文件来保存打印机名称
      

  2.   

    谢谢你jackechen(jacke),我的意思是说取得打印设置中用户设置的打印机名称,而不是取得所有的打印机名称,因为条码有专用的打印机,一个用户可能安装了不同的打印机。
      

  3.   

    uses
      printers;procedure TForm1.Button1Click(Sender: TObject);
    var
      Device,
      Driver,
      Port : array[0..255] of char;
      hDMode : THandle;
    begin
        Printer.GetPrinter(Device, Driver, Port, hDMode);
        if hDMode <> INVALID_HANDLE_VALUE Then
          showmessage('Default Printer is:' + device);
    end;