发布网友 发布时间: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小时前
好像不能判断打印机型号吧, 这样也太智能了