0
我用下面這段代碼來改變打印機的「端口」屬性。問題是執行時間超過一分鐘。 有沒有辦法加快速度? 我可以實例化管理對象不與wmi對象的所有屬性?更重要的是,我如何更新只有1個屬性? 也許我應該沒有搜索者實例化管理對象?更新win32_printer管理對象需要這麼長時間
ManagementPath mPath = new ManagementPath();
mPath.Server = Server.TrimStart(new char[] {'\\'});
mPath.NamespacePath = "root\\cimv2";
ManagementScope mScope = new ManagementScope();
mScope.Options.Impersonation = ImpersonationLevel.Impersonate;
mScope.Path = mPath;
SelectQuery sQ = new SelectQuery();
sQ.ClassName = "Win32_Printer";
//sQ.SelectedProperties.Add("PortName");
//sQ.SelectedProperties.Add("DeviceID");
sQ.Condition = string.Format("Name=\"{0}\"", Name);
ManagementObjectSearcher s = new ManagementObjectSearcher(mScope, sQ);
foreach (ManagementObject service in s.Get())
{
string oldname = service.Properties["PortName"].Value.ToString();
service.Properties["PortName"].Value = PortName;
service.Put();
this.Port = PortName;
return true;
}