Переименовываем принтер через WMI


public static void RenamePrinter(string sPrinterName, string newName)
{
    ManagementScope oManagementScope = new ManagementScope(ManagementPath.DefaultPath);
    oManagementScope.Connect();

    SelectQuery oSelectQuery = new SelectQuery();
    oSelectQuery.QueryString = @"SELECT * FROM Win32_Printer 
       WHERE Name = '" + sPrinterName.Replace("\\", "\\\\") + "'";

    ManagementObjectSearcher oObjectSearcher =
       new ManagementObjectSearcher(oManagementScope, oSelectQuery);
    ManagementObjectCollection oObjectCollection = oObjectSearcher.Get();

    if (oObjectCollection.Count != 0)
    {
        foreach (ManagementObject oItem in oObjectCollection)
        {
            oItem.InvokeMethod("RenamePrinter", new object[] { newName });
            return;
        }
    }
}

Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!