2012-07-10 52 views
2

有谁能告诉我如何在C#中获得PrintQueue对象的图标(如在资源管理器中)。 我得到的所有的打印机列表中使用此代码:我怎样才能得到c中的打印机图标#

LocalPrintServer PrintServer = new LocalPrintServer(); PrintQueueCollection PrintQueuesOnLocalServer = PrintServer.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections });

在此先感谢 NeoKript

+2

你究竟是什么意思,图像显示在OS Gui? – 2012-07-10 13:00:12

回答

2

如果你想要一个操作系统的图标,你应该尝试打开shell32.dll中(或与其他DLL尝试在系统中)作为Visual Studio的资源文件,您应该在那里找到图标,但我不知道您是否可以在您的应用程序中使用。 这里上打开一个DLL作为一个资源的截图: enter image description here ,在这里你得到什么:

enter image description here

当然,你必须尝试打开该图标逐一寻找你所需要的一个,也许你想要一个叫17?

enter image description here

+0

感谢您的回答,但是我如何知道PrintQueue是传真还是打印机来显示好图片? – Geotinc 2012-07-11 08:33:27

+1

@NeoKript:没有办法以100%确定的方式工作,但传真打印机的名称中不会有“传真”一词。 – 2012-07-25 23:48:49

2

在这里你去:http://msdn.microsoft.com/en-us/library/ms247035.aspx (Visual Studio的影像在你的应用程序可自由使用的图标库集合)。

'Visual Studio 2010图像库包含出现在Microsoft Windows,Office系统,Microsoft Visual Studio和其他Microsoft软件中的应用程序图像。您可以使用这套超过1,000个图像来创建与Microsoft软件看起来一致的应用程序。

+0

库已移动,现在可以在此处找到它:http://www.microsoft.com/en-us/download/details.aspx?id=35825 – Surfbutler 2013-06-06 13:22:12

0

大部分系统图标都是系统dll文件中的嵌入资源。

试试看shell32.dll

您可以使用列表here来查找要使用的图标。