客人点完菜后,将菜单分送到各个地方(凉菜、热菜、酒水)打印机上打印出来。请问用程序怎么写来控制打印,怎样设置打印机,改变默认打印机吗?
需要每个包厢里的电脑都安装这三台打印机的驱程吗?如果分不够,以后有分再加!!!

解决方案 »

  1.   

    动态改变Windows的默认打印机
    在窗体中加入combobox和两个button
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ComboBox1.Items := Printer.Printers; {populates ComboBox}
      ComboBox1.ItemIndex := Printer.PrinterIndex; {sets display to current printer}
    end;procedure TForm1.Button2Click(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;http://community.csdn.net/Expert/topic/4003/4003262.xml?temp=.7327997