![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с принтерами
PEKAHT © (2005-01-10 10:31:00)Подскажите пжлст, как узнать какие принтеры есть в системе...
ну всякую информацию про них, про настройки ихние
как это все хранить у себя
www.Vlad.uk (2005-01-10 11:57:00) [1]Пуск>принтеры и факсы
KSergey (2005-01-10 11:14:00) [2]Для начала можно посмотреть Printer.Printers
olookin (2005-01-10 10:36:00) [3]Вот эта функция позволяет мне получать список установленных в системе принтеров:
function GetPrinters: TStringList;
var i: integer;
Reg: TRegistry;
lst,lstA: TStringList;
a,s: AnsiString;
info: OSVERSIONINFO;
begin
lst:=TStringList.Create; lstA:=TStringList.Create;
info.dwOSVersionInfoSize:=SizeOf(OSVERSIONINFO); GetVersionEx(info);
if info.dwPlatformId=VER_PLATFORM_WIN32_NT then begin
Reg:=TRegistry.Create;
with Reg do begin RootKey:=HKEY_CURRENT_USER;
s:='\Software\Microsoft\Windows NT\CurrentVersion\Devices';
if OpenKeyReadOnly(s) then begin GetValueNames(lst);
for i:=0 to lst.Count-1 do begin a:=ReadString(lst.Strings[i]);
a:=StringReplace(a,'winspool,','',[rfReplaceAll]);
lstA.Add(lst.Strings[i]+' ('+a+')'); end; end; Free; end; end;
if info.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS then
lstA.Assign(Printer.Printers); lst.Free; GetPrinters:=lstA;
end;
Полагаю, что если для NT-системы копать реестр дальше, то можно получить и все настройки.