Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
1

Проверить подключен ли принтер который стоит по умолчанию

20.09.2016, 15:14. Показов 4030. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, помогите решить проблему, есть такая ситуация, у пользователя стоит по умолчанию принтер НР, иногда он его отключает и подключает Godex и печатает на нем.
Тогда как проверить подключен ли принтер который стоит по умолчанию , а если не подключен , то поставить Godex , и наоборот. Если Был Godex и они опять подключили HP ,то вернуть его обратно по умолчанию?

Добавлено через 3 минуты
нужно автоматом опреелять текущий подключен или нет, если нет предлагать установить годекс
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2016, 15:14
Ответы с готовыми решениями:

Как сделать открытие html-страничек в браузере, который стоит на ПК по умолчанию, а не через встроенный?
Как сделать в делфи открытие html страничек в браузере который стоит на пк по умолчанию,а не через...

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

Печать на принтер, который 'не по умолчанию'
как осуществить печать на принтер, который 'не по умолчанию' и перед печатью установить некоторые...

Как запустить браузер, который стоит по умолчанию
У меня есть кнопка, как сделать чтоб при нажатие на кнопку запускался браузер по умолчанию

12
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,592
Записей в блоге: 3
20.09.2016, 16:29 2
в делфи есть модуль TPrinters
подключить его, получить список принтеров и проверить имена
0
Эксперт Pascal/Delphi
4914 / 2783 / 853
Регистрация: 04.10.2012
Сообщений: 10,129
20.09.2016, 17:23 3
Виктория1992, такой вариант подойдет? (п.#3)
0
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
21.09.2016, 13:13  [ТС] 4
qwertehok, Делаю так
Delphi
1
2
3
4
5
6
{ Copy the printer names to the combobox and set the combobox to
    show the currently selected default printer }
  cbPrinters.Items.Assign(Printer.Printers);
  cbPrinters.Text := Printer.Printers[Printer.PrinterIndex];
  // Update the label to reflect the default printer
  lblPrinter.Caption := Printer.Printers[Printer.PrinterIndex];
получаю список принтеров.(см. картинку)
т.е сюда в этот список не попадет принтер который установлен по умолчанию , но ОН ОТКЛЮЧЕН от компьютера?
Миниатюры
Проверить подключен ли принтер который стоит по умолчанию  
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,592
Записей в блоге: 3
21.09.2016, 13:17 5
Цитата Сообщение от Виктория1992 Посмотреть сообщение
т.е сюда в этот список не попадет принтер который установлен по умолчанию , но ОН ОТКЛЮЧЕН от компьютера?
не понял вот это предложение

воспользовались бы поиском
Выбор принтера поумолчанию

не считайте себя пупом земли - все ваши проблемы уже кто-то решал и ответ получил.
0
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
21.09.2016, 13:48  [ТС] 6
qwertehok,
Такой пример я сделала уже, но это не то.
Идея заключается в том ,чтобы смена принтера происходила без участия пользователя,
т.е в треи крутиться программа , которая с определенной переодичностью проверяет принтер по умолчанию, если в какой-то мемент его заменили на новый, то ставим принтер по умолчанию на этот.
0
Эксперт Pascal/Delphi
4914 / 2783 / 853
Регистрация: 04.10.2012
Сообщений: 10,129
21.09.2016, 14:01 7
Виктория1992, мой пост читали?
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,592
Записей в блоге: 3
21.09.2016, 14:07 8
Цитата Сообщение от Виктория1992 Посмотреть сообщение
Такой пример я сделала уже, но это не то.
почему "не то"?
как выставить принтер по умолчанию там написано
имена у вас есть
состояние еще проверить надо? подключен или нет?
0
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
21.09.2016, 14:30  [ТС] 9
qwertehok, да , состояние нужно проверить.
droider, да прочитала, но там про двухстороннюю печать.
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,592
Записей в блоге: 3
21.09.2016, 15:06 10
Цитата Сообщение от Виктория1992 Посмотреть сообщение
да , состояние нужно проверить.
нарыл вот такой кусок на "дружественном форуме"
может поможет
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
  if not OpenPrinter(@Device, hPrinter, nil) then Exit;
  GetPrinter(hPrinter, 2, nil,0,@pcbNeed);
  GetMem(Buffer, pcbNeed);
  if GetPrinter(hPrinter, 2, Buffer, pcbNeed, @pcbNeed) then
  begin
....
    if TPrinterInfo2A(Buffer^).Attributes and PRINTER_ATTRIBUTE_WORK_OFFLINE = PRINTER_ATTRIBUTE_WORK_OFFLINE then
      Memo1.Lines.add('  PRINTER_ATTRIBUTE_WORK_OFFLINE');
....
    if TPrinterInfo2A(Buffer^).Status and PRINTER_STATUS_PAUSED = PRINTER_STATUS_PAUSED then
      Memo1.Lines.add('  PRINTER_STATUS_PAUSED');
0
Эксперт Pascal/Delphi
4914 / 2783 / 853
Регистрация: 04.10.2012
Сообщений: 10,129
21.09.2016, 15:10 11
Цитата Сообщение от Виктория1992 Посмотреть сообщение
там про двухстороннюю печать
не только. Я там еще перенаправляю документ на принтер, не выставляя его по умолчанию.
0
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
21.09.2016, 16:06  [ТС] 12
droider, твой способ не подходит , т.к. принтеры ломаются и их заменяют на новые.

Добавлено через 52 минуты
qwertehok, а можно источник или полный код?
0
5489 / 4404 / 1076
Регистрация: 29.08.2013
Сообщений: 27,592
Записей в блоге: 3
21.09.2016, 16:42 13
Цитата Сообщение от Виктория1992 Посмотреть сообщение
а можно источник или полный код?
полный код найдете если воспользуетесь яндексом

ссылки на другие форумы вроде запрещены
0
21.09.2016, 16:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2016, 16:42
Помогаю со студенческими работами здесь

Узнать название принтера, который стоит по умолчанию?
Доброго времени суток всем! Собственно сабж.

Открывается только браузер, который стоит по умолчанию, и сайт nftds2
Здравствуйте! При открытии любого браузера автоматически открывается только браузер, который в...

Любой браузер, который стоит по умолчанию, сам открывается с рекламой каждый 20-30 минут
Скачал что-то не посмотрел, прогнал защитником винды 10, нашёл 3 вируса, в том числе и этот, вроде...

Как узнать, как подключен компьютер в сеть, через switch который подключен к коммутаторы или напрямую с коммутатором ?
У нас много роутеров и switch-ей, роутеры настроены как switch. И использую программу Netxms для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru