Вниз
Скачать: CL | DM;

Список установленных принтеров   Найти похожие ветки 

 
dolmat   (2005-08-15 13:31) [0]

Как получить список установленных принтеров
или хотя бы имя выбранного принтера после выбора в
Printsetupdialog


 
Плохиш ©   (2005-08-15 13:39) [1]

function Printer: TPrinter; + F1


 
Kazakh   (2005-08-15 14:34) [2]

Список всех установленных принтеров и установить по умолчанию.
unit MainFrm;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls;

type
 TMainForm = class(TForm)
   cbPrinters: TComboBox;
   lblPrinter: TLabel;
   procedure FormCreate(Sender: TObject);
   procedure cbPrintersChange(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 MainForm: TMainForm;

implementation
uses IniFiles, Printers;

{$R *.DFM}

procedure TMainForm.FormCreate(Sender: TObject);
begin
 { Copy the printer names to the combobox and set the combobox to
   show the currently selected default printer }
 cbPrinters.Items.Assign(Printer.Printers);
 cbPrinters.Text := Printer.Printers[Printer.PrinterIndex];
 // Update the label to reflect the default printer
 lblPrinter.Caption := Printer.Printers[Printer.PrinterIndex];
end;

procedure TMainForm.cbPrintersChange(Sender: TObject);
var
 IniFile: TIniFile;
 TempStr1, TempStr2: string;
 S: array[0..64] of char;
begin
 with Printer do
 begin
   // Set the new printer based on the ComboBox"s selected printer
   PrinterIndex := cbPrinters.ItemIndex;
   // Store the printer name into a temporary string
   TempStr1 := Printers[PrinterIndex];
   // Delete the unnecessary portion of the printer name
   System.Delete(TempStr1, Pos(" on ", TempStr1), Length(TempStr1));
   // Create a TIniFile class
   IniFile := TIniFile.Create("WIN.INI");
   try
     // Retrieve the device name of the selected printer
     TempStr2 := IniFile.ReadString("Devices", TempStr1, "");
     // Change the default printer to that chosen by the user
     IniFile.WriteString("windows", "device", TempStr1 + "," + TempStr2);
     // Tell all windows that the default printer changed.
     StrCopy(S, "windows");
     SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@S));
   finally
     IniFile.Free;
   end;
 end;
 // Update the label to reflect the new printer selection
 lblPrinter.Caption := Printer.Printers[Printer.PrinterIndex];
end;

end.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.045 c
1-1124023031
Aleksandrrr
2005-08-14 16:37
2005.09.04
русский язык в консольном приложении


14-1123259592
Джо
2005-08-05 20:33
2005.09.04
Какую еду предпочитают программисты?


9-1115718676
nikitoz
2005-05-10 13:51
2005.09.04
Автору dceDemo.


4-1121316916
Gektor3000
2005-07-14 08:55
2005.09.04
Скажите как программе узнать что компьютер хотят выключить?


14-1123506366
oldman
2005-08-08 17:06
2005.09.04
У меня IE глючит?




   Наверх