Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.
Re: Как отличить виртуальный принтер от физического?
Здравствуйте, ychernetskiy, Вы писали:
Y>Всем привет.
Y>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.
А что такое в Вашем понятии "виртуальный" принтер?
Re[2]: Как отличить виртуальный принтер от физического?
Здравствуйте, vmpire, Вы писали:
V>Здравствуйте, ychernetskiy, Вы писали:
Y>>Всем привет.
Y>>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо. V>А что такое в Вашем понятии "виртуальный" принтер?
Видимо имеется ввиду что-то типа pdf принтера. Но я сомневаюсь что такая задача имеет какое-то универсальное решение
Здравствуйте, ychernetskiy, Вы писали:
Y>Всем привет.
Y>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.
Видимо только если работать напрямую с драйверами, то можно. Но это уже явно не C#.
Re[3]: Как отличить виртуальный принтер от физического?
Здравствуйте, netDalek, Вы писали:
Y>>>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо. V>>А что такое в Вашем понятии "виртуальный" принтер?
D>Видимо имеется ввиду что-то типа pdf принтера. Но я сомневаюсь что такая задача имеет какое-то универсальное решение
Тут нужна правильная постановка задачи. Она же будет ответом
"Виртуальный" принтер — это что?
— Принтер, который печатает в файл средствами драйвера
— Принтер, который печатает в файл используя файловый порт
— Принтер, который не подсоединён физически к компьютеру
— Принтер, который печатает на другой принтер, а не на бумагу...
Возможны разные формулировки. Но для каждой конкретной решение очевидно.
Re[4]: Как отличить виртуальный принтер от физического?
Здравствуйте, vmpire, Вы писали:
V>Здравствуйте, netDalek, Вы писали:
Y>>>>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо. V>>>А что такое в Вашем понятии "виртуальный" принтер?
D>>Видимо имеется ввиду что-то типа pdf принтера. Но я сомневаюсь что такая задача имеет какое-то универсальное решение V>Тут нужна правильная постановка задачи. Она же будет ответом V>"Виртуальный" принтер — это что? V>- Принтер, который печатает в файл средствами драйвера V>- Принтер, который печатает в файл используя файловый порт V>- Принтер, который не подсоединён физически к компьютеру V>- Принтер, который печатает на другой принтер, а не на бумагу... V>Возможны разные формулировки. Но для каждой конкретной решение очевидно.
Я имел в виду это определение виртуального принтера.
Re[5]: Как отличить виртуальный принтер от физического?
Здравствуйте, ychernetskiy, Вы писали:
V>>Возможны разные формулировки. Но для каждой конкретной решение очевидно.
Y>Я имел в виду это определение виртуального принтера.
Хреновое определение
Виртуа́льный при́нтер — это компьютерная программа, которая работает и выглядит для пользователя как драйвер принтера, но реальный принтер к ней не подключен.
Брр... Принтер подключенный к программе...
WBR, Igor Evgrafov
Re[5]: Как отличить виртуальный принтер от физического?
Здравствуйте, ychernetskiy, Вы писали:
Y>>>>>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо. V>>>>А что такое в Вашем понятии "виртуальный" принтер?
D>>>Видимо имеется ввиду что-то типа pdf принтера. Но я сомневаюсь что такая задача имеет какое-то универсальное решение V>>Тут нужна правильная постановка задачи. Она же будет ответом V>>"Виртуальный" принтер — это что? V>>- Принтер, который печатает в файл средствами драйвера V>>- Принтер, который печатает в файл используя файловый порт V>>- Принтер, который не подсоединён физически к компьютеру V>>- Принтер, который печатает на другой принтер, а не на бумагу... V>>Возможны разные формулировки. Но для каждой конкретной решение очевидно.
Y>Я имел в виду это определение виртуального принтера.
По этому определению это принтер, который использует драйвер, который в принципе не может выводить что-то на печать. При такой формулировке просто так такой принтер не выделить, нужно анализировать конкретные драйвера. Но если ослабить ограничение до такого: "принтер, который при текущих настройках не печатает на физическое устройство", то задача упрощается: ищите принтеры, подключенные к порту типа FILE или Local Port. Хотя и это не совсем корректно: локальный порт может печатать на UNC-путь, который указыввает на расшаренный физический принтер. Если хочется и это проверять, то нужно анализировать тип сетевой шары, а это не всегда возможно.
В общем, всё зависит от того, зачем Вам это надо
Re[6]: Как отличить виртуальный принтер от физического?
Здравствуйте, GarryIV, Вы писали:
Y>>Я имел в виду это определение виртуального принтера.
GIV>Хреновое определение
Как и многие в википедии, особенно переведённые дословно и бездумно.
Впрочем, не нравится — исправьте
Re[7]: Как отличить виртуальный принтер от физического?
Здравствуйте, 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]: Как отличить виртуальный принтер от физического?
Здравствуйте, GarryIV, Вы писали:
GIV>>>Хреновое определение V>>Как и многие в википедии, особенно переведённые дословно и бездумно.
GIV>Ага, на английском гораздо лучше.
Я не утверждал, что там лучше
V>>Впрочем, не нравится — исправьте GIV>После Вас
Да мне-то без разницы, лично я считаю сам термин надуманным. Это Вам не нравится
Re[2]: Как отличить виртуальный принтер от физического?
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Ellin, Вы писали:
E>>Видимо только если работать напрямую с драйверами, то можно. Но это уже явно не C#.
AVK>Что мешает общаться с дравером в C#?
Да ничего, конечно. Я просто имел ввиду что видимо придется написать драйвер. Который бы там в нулевом кольце выискивал как-то своих собратьев — виртуальных принтеров, ну и сообщал С# программе что нашел. Соответсвенно драйвер на C# пока что не напишешь.
Re[4]: Как отличить виртуальный принтер от физического?
Здравствуйте, Ellin, Вы писали:
E>Да ничего, конечно. Я просто имел ввиду что видимо придется написать драйвер. Который бы там в нулевом кольце выискивал как-то своих собратьев — виртуальных принтеров, ну и сообщал С# программе что нашел.
Чем тут поможет нулевое кольцо?
... << RSDN@Home 1.2.0 alpha 4 rev. 1464 on Windows 7 6.1.7600.0>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Ellin, Вы писали:
E>>Да ничего, конечно. Я просто имел ввиду что видимо придется написать драйвер. Который бы там в нулевом кольце выискивал как-то своих собратьев — виртуальных принтеров, ну и сообщал С# программе что нашел.
AVK>Чем тут поможет нулевое кольцо?
И поможет ли... Может и не поможет, а может и поможет. Вот с этим вопросом можно обратитсья в форум по низкоуровнему программированию. Там точно скажут. В этом и был мой ответ...
Re: Как отличить виртуальный принтер от физического?
От:
Аноним
Дата:
27.02.10 15:10
Оценка:
Здравствуйте, ychernetskiy, Вы писали:
Y>Всем привет.
Y>Есть список принтеров в системе (WinXP). Из него нужно отфильтровать все виртуальные принтеры. Это возможно сделать (в идеале нужен код на .net)? Перебрал все свойства wmi класса Win32_Printer, не нашел ничего подходящего. Идеи? Спасибо.