【发布时间】:2012-09-01 00:43:59
【问题描述】:
可能重复:
Can I get the icon associated with an installed printer through .Net?
如何使用 C#.NET 检索与打印机关联的图标?理想情况下,我希望在“打印机和设备”文件夹中显示图标,以便在我的应用程序中使用打印机。
一种方法是硬编码安装了打印机的文件夹的路径,然后一个接一个地手动检索图标。这个问题已经被问到here。
但是,这种方法依赖于扫描给定文件夹、获取关联的打印机、将打印机名称与检索到的打印机名称匹配并显示它们。
由于两个原因,这种方法可能不稳定:
这涉及将位置硬编码到打印机(可能因操作系统/版本而异)
无法保证显示的打印机名称与应用程序中已登记的打印机名称匹配。
是否有不涉及扫描/手动方法的编程/托管方法,但图标可以作为某些托管 .NET 对象的属性检索?
【问题讨论】:
-
答案是决定性的。 Windows 检查已安装的驱动程序并搜索直到找到图标。
-
我能问一下你打算用它们做什么吗?what have you tried
-
标记的答案显示了一种从给定的 *.dll 或 *.exe 中检索图标的方法。但是,我应该从哪个 dll 或 exe 中检索它?
-
该应用程序具有自定义打印对话框,我为此列出了可用的打印机。将打印机图标作为快速视觉帮助很有帮助。不,我正在寻找检索图标的方向。
-
第一个解决方案听起来很有效。如果需要,我可以将其转换为 C#。