Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.07;
Скачать: CL | DM;

Вниз

Где принтер по умолчанию в реестре?   Найти похожие ветки 

 
БарЛог ©   (2008-02-12 12:04) [0]

Всем привет. Сабж.
Яндекс не помогает :( Поиск по реестру тоже.

ВинХР.


 
SergeR ©   (2008-02-12 12:46) [1]

А его нету в реестре, на сколько я знаю...


 
БарЛог ©   (2008-02-12 13:03) [2]

Поиск в реестре по имени принтера выдал большую тучу результатов...

...тогда где?


 
БарЛог ©   (2008-02-12 13:03) [3]

> ...тогда где?
в смысле, как его программно получить/поменять?


 
SergeR ©   (2008-02-12 13:05) [4]

uses Printers...


 
Ник   (2008-02-12 13:11) [5]

Все в DRKB.chm

uses
Printers, Messages;
function GetDefaultPrinter: string;

var
ResStr: array[0..255] of Char;
begin
GetProfileString("Windows", "device", "", ResStr, 255);
Result := StrPas(ResStr);
end;

procedure SetDefaultPrinter1(NewDefPrinter: string);
var
ResStr: array[0..255] of Char;

begin
StrPCopy(ResStr, NewdefPrinter);
WriteProfileString("windows", "device", ResStr);
StrCopy(ResStr, "windows");
SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, Longint(@ResStr));
end;

procedure SetDefaultPrinter2(PrinterName: string);
var
I: Integer;
Device: PChar;
Driver: PChar;
Port: PChar;
HdeviceMode: THandle;
aPrinter: TPrinter;

begin
Printer.PrinterIndex := -1;
GetMem(Device, 255);
GetMem(Driver, 255);
GetMem(Port, 255);
aPrinter := TPrinter.Create;
try
  for I := 0 to Printer.Printers.Count - 1 do
  begin
    if Printer.Printers = PrinterName then
    begin
      aprinter.PrinterIndex := i;
      aPrinter.getprinter(device, driver, port, HdeviceMode);
      StrCat(Device, ",");
      StrCat(Device, Driver);
      StrCat(Device, Port);
      WriteProfileString("windows", "device", Device);
      StrCopy(Device, "windows");
      SendMessage(HWND_BROADCAST, WM_WININICHANGE,
        0, Longint(@Device));
    end;
  end;
finally
  aPrinter.Free;
end;
FreeMem(Device, 255);
FreeMem(Driver, 255);
FreeMem(Port, 255);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption := GetDefaultPrinter2;
end;

//Fill the combobox with all available printers
procedure TForm1.FormCreate(Sender: TObject);
begin
Combobox1.Items.Clear;
Combobox1.Items.AddStrings(Printer.Printers);
end;

//Set the selected printer in the combobox as default printer
procedure TForm1.Button2Click(Sender: TObject);
begin
SetDefaultPrinter(Combobox1.Text);
end;


 
БарЛог ©   (2008-02-12 13:30) [6]

Спасибо.


 
VICTOR_   (2008-02-12 14:21) [7]

см. также
http://dn.codegear.com/article/28936



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

Текущий архив: 2008.12.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
1-1202915605
Zabludshiy
2008-02-13 18:13
2008.12.07
Проблема с заполнением treeView.Items[i].Data


15-1223180939
TUses
2008-10-05 08:28
2008.12.07
Москвичи, подскажите хорошие магазины с компьютерными запчастями?


2-1225093757
Иван
2008-10-27 10:49
2008.12.07
Загрузка страницы со скриптами в TWebBrowser


2-1225283474
MC87
2008-10-29 15:31
2008.12.07
Drag&Drop


3-1210917985
Dizzzel
2008-05-16 10:06
2008.12.07
Динамическое создание полей в хранимой процедуре