Hi all, am Saravana ,am new to .Net environment, can any of u help me in providing some information about any of the C#.Net API's which can be used for creating printer ports and installing print drivers, thanks in advance
Saravana Kumar
Loading
Know the answer? Post it — somebody with the same question will find it here.
Sign in to answer this question
It is the same account you read, post and publish with — and you will come straight back to this page.
John PalsonPosted Mar 2, 2011, 1:28 AM
{
string DeviceID;
string DriverName;
string PortName;
Boolean Shared;
string ShareName;
private ManagementScope managementScope = null;
private ManagementClass InitClass(string className)
{
//specify Printer class management path
ManagementPath managementPath = new ManagementPath(className);
try
{
//create new WMI management class
return new ManagementClass(managementScope, managementPath, null);
}
catch (Exception ex)
{
throw new Exception(
String.Format(
"WMI exception: {0}", ex.Message));
}
}
public bool AddPrinter(string printerName, string printerDriver, string portName, bool sharedPrinter)
{
bool result = false;
try
{
//init Win32_Printer class
ManagementClass printerClass = InitClass("Win32_Printer");
//create new Win32_Printer object
ManagementObject printerObject = printerClass.CreateInstance();
//set port parameters
if (portName == null || portName.Length == 0)
printerObject["PortName"] = "LPT1:";
else
{
if (portName[portName.Length - 1] != ':')
printerObject["PortName"] = (portName + ":");
else
printerObject["PortName"] = portName;
}
//set driver and device names
printerObject["DriverName"] = printerDriver;
printerObject["DeviceID"] = printerName;
//set sharing
if (sharedPrinter)
{
printerObject["Shared"] = sharedPrinter;
printerObject["ShareName"] = printerName;
}
// specify put options: update or create
PutOptions options = new PutOptions();
options.Type = PutType.UpdateOrCreate;
//put a newly created object to WMI objects set
printerObject.Put(options);
result = true;
}
catch (Exception ex)
{
throw new Exception(String.Format("WMI exception: {0}", ex.Message));
}
return result;
}
}
private void btnHelp_Click(object sender, EventArgs e)
{
printport pnt = new printport();
pnt.AddPrinter("FileManager", "HP LaserJet 3050 Series PCL 6", "COM1:", true);
}