Как отличить виртуальный принтер от физического?
От: ychernetskiy  
Дата: 24.02.10 17:03
Оценка:
Всем привет.

Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.
Re: Как отличить виртуальный принтер от физического?
От: vmpire Россия  
Дата: 24.02.10 17:43
Оценка:
Здравствуйте, ychernetskiy, Вы писали:

Y>Всем привет.


Y>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.

А что такое в Вашем понятии "виртуальный" принтер?
Re[2]: Как отличить виртуальный принтер от физического?
От: netDalek Россия 7minds.ru
Дата: 25.02.10 07:54
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Здравствуйте, ychernetskiy, Вы писали:


Y>>Всем привет.


Y>>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.

V>А что такое в Вашем понятии "виртуальный" принтер?

Видимо имеется ввиду что-то типа pdf принтера. Но я сомневаюсь что такая задача имеет какое-то универсальное решение
<img src="http://www.brainbench.com/images/certlogo/color/cert/cppprogrammer.gif" />
Re: Как отличить виртуальный принтер от физического?
От: Ellin Россия www.rsdn.ru
Дата: 25.02.10 08:13
Оценка:
Здравствуйте, ychernetskiy, Вы писали:

Y>Всем привет.


Y>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.

Видимо только если работать напрямую с драйверами, то можно. Но это уже явно не C#.
Re[3]: Как отличить виртуальный принтер от физического?
От: vmpire Россия  
Дата: 25.02.10 09:07
Оценка:
Здравствуйте, netDalek, Вы писали:

Y>>>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.

V>>А что такое в Вашем понятии "виртуальный" принтер?

D>Видимо имеется ввиду что-то типа pdf принтера. Но я сомневаюсь что такая задача имеет какое-то универсальное решение

Тут нужна правильная постановка задачи. Она же будет ответом
"Виртуальный" принтер — это что?
— Принтер, который печатает в файл средствами драйвера
— Принтер, который печатает в файл используя файловый порт
— Принтер, который не подсоединён физически к компьютеру
— Принтер, который печатает на другой принтер, а не на бумагу...
Возможны разные формулировки. Но для каждой конкретной решение очевидно.
Re[4]: Как отличить виртуальный принтер от физического?
От: ychernetskiy  
Дата: 25.02.10 14:24
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Здравствуйте, netDalek, Вы писали:


Y>>>>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.

V>>>А что такое в Вашем понятии "виртуальный" принтер?

D>>Видимо имеется ввиду что-то типа pdf принтера. Но я сомневаюсь что такая задача имеет какое-то универсальное решение

V>Тут нужна правильная постановка задачи. Она же будет ответом
V>"Виртуальный" принтер — это что?
V>- Принтер, который печатает в файл средствами драйвера
V>- Принтер, который печатает в файл используя файловый порт
V>- Принтер, который не подсоединён физически к компьютеру
V>- Принтер, который печатает на другой принтер, а не на бумагу...
V>Возможны разные формулировки. Но для каждой конкретной решение очевидно.

Я имел в виду это определение виртуального принтера.
Re[5]: Как отличить виртуальный принтер от физического?
От: GarryIV  
Дата: 25.02.10 14:46
Оценка:
Здравствуйте, ychernetskiy, Вы писали:

V>>Возможны разные формулировки. Но для каждой конкретной решение очевидно.


Y>Я имел в виду это определение виртуального принтера.


Хреновое определение

Виртуа́льный при́нтер — это компьютерная программа, которая работает и выглядит для пользователя как драйвер принтера, но реальный принтер к ней не подключен.


Брр... Принтер подключенный к программе...
WBR, Igor Evgrafov
Re[5]: Как отличить виртуальный принтер от физического?
От: vmpire Россия  
Дата: 25.02.10 14:53
Оценка:
Здравствуйте, ychernetskiy, Вы писали:

Y>>>>>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.

V>>>>А что такое в Вашем понятии "виртуальный" принтер?

D>>>Видимо имеется ввиду что-то типа pdf принтера. Но я сомневаюсь что такая задача имеет какое-то универсальное решение

V>>Тут нужна правильная постановка задачи. Она же будет ответом
V>>"Виртуальный" принтер — это что?
V>>- Принтер, который печатает в файл средствами драйвера
V>>- Принтер, который печатает в файл используя файловый порт
V>>- Принтер, который не подсоединён физически к компьютеру
V>>- Принтер, который печатает на другой принтер, а не на бумагу...
V>>Возможны разные формулировки. Но для каждой конкретной решение очевидно.

Y>Я имел в виду это определение виртуального принтера.

По этому определению это принтер, который использует драйвер, который в принципе не может выводить что-то на печать. При такой формулировке просто так такой принтер не выделить, нужно анализировать конкретные драйвера. Но если ослабить ограничение до такого: "принтер, который при текущих настройках не печатает на физическое устройство", то задача упрощается: ищите принтеры, подключенные к порту типа FILE или Local Port. Хотя и это не совсем корректно: локальный порт может печатать на UNC-путь, который указыввает на расшаренный физический принтер. Если хочется и это проверять, то нужно анализировать тип сетевой шары, а это не всегда возможно.
В общем, всё зависит от того, зачем Вам это надо
Re[6]: Как отличить виртуальный принтер от физического?
От: vmpire Россия  
Дата: 25.02.10 14:55
Оценка:
Здравствуйте, GarryIV, Вы писали:

Y>>Я имел в виду это определение виртуального принтера.


GIV>Хреновое определение

Как и многие в википедии, особенно переведённые дословно и бездумно.
Впрочем, не нравится — исправьте
Re[7]: Как отличить виртуальный принтер от физического?
От: GarryIV  
Дата: 25.02.10 15:31
Оценка:
Здравствуйте, vmpire, Вы писали:

Y>>>Я имел в виду это определение виртуального принтера.


GIV>>Хреновое определение

V>Как и многие в википедии, особенно переведённые дословно и бездумно.

Ага, на английском гораздо лучше.

A virtual printer is a piece of computer software whose user interface and API resemble that of a printer driver, but which is not connected with a physical computer printer.


V>Впрочем, не нравится — исправьте

После Вас
WBR, Igor Evgrafov
Re[8]: Как отличить виртуальный принтер от физического?
От: vmpire Россия  
Дата: 25.02.10 16:01
Оценка:
Здравствуйте, GarryIV, Вы писали:

GIV>>>Хреновое определение

V>>Как и многие в википедии, особенно переведённые дословно и бездумно.

GIV>Ага, на английском гораздо лучше.

Я не утверждал, что там лучше

V>>Впрочем, не нравится — исправьте

GIV>После Вас
Да мне-то без разницы, лично я считаю сам термин надуманным. Это Вам не нравится
Re[2]: Как отличить виртуальный принтер от физического?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.02.10 09:51
Оценка:
Здравствуйте, Ellin, Вы писали:

E>Видимо только если работать напрямую с драйверами, то можно. Но это уже явно не C#.


Что мешает общаться с дравером в C#?
... << RSDN@Home 1.2.0 alpha 4 rev. 1464 on Windows 7 6.1.7600.0>>
AVK Blog
Re: Как отличить виртуальный принтер от физического?
От: TK Лес кывт.рф
Дата: 26.02.10 10:38
Оценка: +1 :)))
Здравствуйте, ychernetskiy, Вы писали:

Y>Идеи?


Печатайте в него. Рано или поздно, но в физическом закончится бумага.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[3]: Как отличить виртуальный принтер от физического?
От: Ellin Россия www.rsdn.ru
Дата: 26.02.10 10:41
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Ellin, Вы писали:


E>>Видимо только если работать напрямую с драйверами, то можно. Но это уже явно не C#.


AVK>Что мешает общаться с дравером в C#?

Да ничего, конечно. Я просто имел ввиду что видимо придется написать драйвер. Который бы там в нулевом кольце выискивал как-то своих собратьев — виртуальных принтеров, ну и сообщал С# программе что нашел. Соответсвенно драйвер на C# пока что не напишешь.
Re[4]: Как отличить виртуальный принтер от физического?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.02.10 10:46
Оценка:
Здравствуйте, Ellin, Вы писали:

E>Да ничего, конечно. Я просто имел ввиду что видимо придется написать драйвер. Который бы там в нулевом кольце выискивал как-то своих собратьев — виртуальных принтеров, ну и сообщал С# программе что нашел.


Чем тут поможет нулевое кольцо?
... << RSDN@Home 1.2.0 alpha 4 rev. 1464 on Windows 7 6.1.7600.0>>
AVK Blog
Re[5]: Как отличить виртуальный принтер от физического?
От: Ellin Россия www.rsdn.ru
Дата: 26.02.10 11:38
Оценка: :)
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Ellin, Вы писали:


E>>Да ничего, конечно. Я просто имел ввиду что видимо придется написать драйвер. Который бы там в нулевом кольце выискивал как-то своих собратьев — виртуальных принтеров, ну и сообщал С# программе что нашел.


AVK>Чем тут поможет нулевое кольцо?

И поможет ли... Может и не поможет, а может и поможет. Вот с этим вопросом можно обратитсья в форум по низкоуровнему программированию. Там точно скажут. В этом и был мой ответ...
Re: Как отличить виртуальный принтер от физического?
От: Аноним  
Дата: 27.02.10 15:10
Оценка:
Здравствуйте, ychernetskiy, Вы писали:

Y>Всем привет.


Y>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.


Виртуальный наверное не печатает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.