На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / ОС и железо / Как узнать, какие принтеры установлены в системе Сделать домашней страницей Добавить в избранное Написать писмо

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


Поместите на форму кнопку (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;


Copyright ©   "DELPHI WORLD"   E-mail:   delphiworld@mail.ru  http://www.delphiworld.narod.ru
Источник получения информации: http://www.delphiworld.narod.ru
Hosted by uCoz