C#如何判断默认的打印机否是tsc打印机???

发布网友 发布时间:2小时前

我来回答

3个回答

热心网友 时间:2小时前

你可以通过设置你的默认打印机来保证你的默认打印机是tsc打印机,但是判断打印机是否打印成功好像很难做到,因为windows系统是后台打印,前台不好控制,不象DOS系统,更何况卡纸、串行、没墨(包括色带)等现象根本无法用软件来判断。还是在程序中作个提示吧,由操作者判断是否打印成功,然后再根据操作者选择的结果作相应的处理。连windows里面的打印测试页都会问你打印是否正确,如果它能确定的还要多此一问吗?

using System.Management;

private const string _classname = "SELECT * FROM Win32_Printer";

#region 设置默认打印机
void SetDefaultPrinter(string printerName)
{
ManagementObjectSearcher query = new ManagementObjectSearcher(_classname);
queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
{
if (string.Compare(mo["Name"].ToString(), printerName, true) == 0)
{
mo.InvokeMethod("SetDefaultPrinter", null);
break;
}
}
}
#endregion

#region 打印机是否存在
bool IsPrintExists(string printerName)
{
foreach (string pName in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
{
if (pName == printerName)
{
return true;
}
}
return false;
}
#endregion

热心网友 时间:2小时前

你可以通过openport("打印机名称"); 来指定计算机端的输出端口,但是好像不能判断吧。

热心网友 时间:2小时前

好像不能判断打印机型号吧, 这样也太智能了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com