powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Printer - количество принтеров в системе?
7 сообщений из 7, страница 1 из 1
Printer - количество принтеров в системе?
    #32296333
surovi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каким образом можно узнать количество принтеров в системе?

Следующий код не помогает так как приходится перезапускать программу, если принтер был установлен во время выполнения программы

var
sys_printer: TPrinter; // uses Printers;
count_printers: Integer;
begin
sys_printer:= Printer(); // uses Printers;
count_printers:= sys_printer.Printers.Count;

Спасибо
...
Рейтинг: 0 / 0
Printer - количество принтеров в системе?
    #32297174
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему задача из серии "Виртуальная реальность" :-) Скажите пожалуйста для чего Вам так срочно знать кол-во принтеров в системе сразу после установки ещё одного? Или Вы только и занимаетесь установкой удалением принтеров? В таком случае почему бы Вам или Вашим пользователям не запомнить (в уме, в крайнем случае записать (на лист бумаги, в файл - куда угодно)) предыдущее значение и прибавить к нему единицу самостоятельно не прибегая к помощи программных средств?
...
Рейтинг: 0 / 0
Printer - количество принтеров в системе?
    #32297520
Наблюдатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для drbond :

не стоит на просьбу о помощи в ответ нести полную чушь. Приведу реальный пример: на Delphi написан ActiveX, который встроен в приложение, которое работает месяцами и перезагрузка этого приложения не допускается - например в системах АСУТП! А установить новый принтер без перезагрузки ОС - надеюсь, вопросов не вызывает?

Для surovi :

К сожалению, класс TPrinter зачитывает список принтеров в системе всего один раз (см. метод TPrinter.GetPrinters).

Для получения достоверного списка принтеров можно динамически создавать экземпляр класса TPrinter, получать через него список (и количество) принтеров, а потом уничтожить этот созданный экземпляр.

Либо можно повторить код метода TPrinter.GetPrinters в своем коде...
...
Рейтинг: 0 / 0
Printer - количество принтеров в системе?
    #32297871
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть чуднеая функция в WinApi EnumPrinters...
рассказывает очень много интересной информации... Посмотри так же сопутствующие ей функции, я думаю понравятся некоторые...
...
Рейтинг: 0 / 0
Printer - количество принтеров в системе?
    #32298412
Наблюдатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EnumPrinters - штука нужная, и именно она используется в выше указанном TPrinter.GetPrinters. Вот только параметры вызова зависят от версии операционки, что кстати и у Borland сделано...
...
Рейтинг: 0 / 0
Printer - количество принтеров в системе?
    #32299214
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю это не сложно написать.... равно как и не сложно проверить версию операционки функцией GetVersion. Если уж нужно универсально под все версии винды, в чем я сомневаюсь
...
Рейтинг: 0 / 0
Printer - количество принтеров в системе?
    #32313707
surovi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное всем Вам спасибо за ответы

Они очень помогли !!!

Спасибо за сотрудничество
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Printer - количество принтеров в системе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]