Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как узнать, какие принтеры установлены в системе

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

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay