nastya_e
11 years agoOccasional Contributor
Get the default printer
Добрый день.
Как определить принтер, который в настоящий момент используется по умолчанию. Написание тестов на delphiscript
Locator: = Sys.OleObject ('WbemScripting.SWbemLocator');
WmiService: = Locator.ConnectServer ('.', 'root\cimv2', '', '');
если затем использовать
objPrinter := WMIService.Get('Win32_Printer.Default=True'), то выдает ошибку
SWbemServicesEx
если выводить с помощью запроса
WbemObject := WmiService.ExecQuery('Select * from Win32_Printer Where Default = True');
то затем не знаю как получить результат запроса
Как определить принтер, который в настоящий момент используется по умолчанию. Написание тестов на delphiscript
Locator: = Sys.OleObject ('WbemScripting.SWbemLocator');
WmiService: = Locator.ConnectServer ('.', 'root\cimv2', '', '');
если затем использовать
objPrinter := WMIService.Get('Win32_Printer.Default=True'), то выдает ошибку
SWbemServicesEx
если выводить с помощью запроса
WbemObject := WmiService.ExecQuery('Select * from Win32_Printer Where Default = True');
то затем не знаю как получить результат запроса
- In the meantime you can try using the WbemObjectSet methods to enumerate the list:
WbemObjectSet := WmiService.ExecQuery('Select * from Win32_Printer Where Default = True');
count := WbemObjectSet.Count;
for i := 0 to count - 1 do
begin
WbemObject := WbemObjectSet.ItemIndex(i);
Log.Message(WbemObject.Name);
end;