Главная страницаОбратная связьКарта сайта

Как узнать, какие принтеры установлены в системе

Поместите на форму кнопку (Button1) и ListBox (ListBox1). В uses добавьте registry unit. Следующий код поместите в событие кнопки OnClick:


procedure TForm1.Button1Click(Sender: TObject);
var
  m: TRegistry;
  i: integer;
  l: TstringList;
  s: string;
begin
  m := TRegistry.Create; l := TStringList.Create;
  s := "\System\CurrentControlSet\Control\Print\Printers";
  m.RootKey := HKEY_LOCAL_MACHINE;
  m.OpenKey(s, false);
  m.GetKeyNames(l); // получаем список принтеров
  m.CloseKey;
  ListBox1.Items.Clear;
  for i := 0 to l.Count - 1 do begin
    m.OpenKey(s + "\" + l[i], false);
      // Здесь, ради теста, можно сделать проверку на наличие нужного имени драйвера
      // if m.ReadString("Printer Driver") = "my printer driver" then ..
      // добавляем имя принтера в список
    ListBox1.Items.Add(m.ReadString("Name"));
    m.CloseKey;
  end;
  m.Free;
  l.Free;
end;


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Как узнать, какие принтеры установлены в системе", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info