我是C#
的新手,我正在使用windows窗体、windows 7和.Net 4.0。我有3台打印机连接到我的计算机。我想在特定的打印机上打印windows测试页。所有打印机名称都列在ComboBox
中,如以下代码所示。我想从ComboBox
中选择一台打印机并打印测试页。
我看了看这里,Here和Here,但没有任何帮助。
有人知道怎么做吗?
foreach (string printer in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
{
comboBox_Printers.Items.Add(printer);
}
1条答案
按热度按时间rvpgvaaj1#
现在,这个方法可能看起来 * 冗长 ,但我认为在调用
WMI
方法时,正确定义管理选项和作用域是很重要的。这提供了在必要时纠正/调整代码以适应特定上下文的方法。
此外,这里的helper方法还可以重用来初始化任何其他
WMI
查询。例如,当连接到
WMI
Scope
或执行WMI
查询时,错误的*Impersonation
**选项将导致异常(0x80070005: (E_ACCESSDENIED)
)。**
PrintTestPage
方法参数的说明:string PrinterName
:指定打印机的名称,或null
以使用默认打印机。string MachineName
:网络中计算机的名称或null
以使用LocalMachine
**名称。如果成功,该方法将返回
0
;如果未找到打印机,将引发异常。使用本地计算机中的默认打印机打印测试页的示例调用:
帮助器方法: