我怎樣才能找到運行程序的機器的所有本地打印機,並且沒有管理員權限的用戶。我需要重新映射打印機IP並將打印機設置爲默認值。我的想法是使用模擬來做到這一點,但我不知道在哪裏可以找到打印機,以及是否使用模擬的好方法。獲取本地打印機列表來更改打印機IP和默認打印機
感謝您的幫助!
我怎樣才能找到運行程序的機器的所有本地打印機,並且沒有管理員權限的用戶。我需要重新映射打印機IP並將打印機設置爲默認值。我的想法是使用模擬來做到這一點,但我不知道在哪裏可以找到打印機,以及是否使用模擬的好方法。獲取本地打印機列表來更改打印機IP和默認打印機
感謝您的幫助!
我不認爲你會有這樣的運氣。模擬不會在這裏工作,只是拋出一個異常。你可以通過模仿來嘗試這個,並嘗試打開Environment.Domain,它會給你一個例外。
你可以嘗試這樣的事情不帶模擬:
ManagementScope mscope = new ManagementScope(@"\root\CIMV2", options);
mscope.Connect();
System.Management.ObjectQuery oQuery = new ObjectQuery("Select * from Win32_TCPIPPrinterPort");
System.Management.ManagementObjectSearcher searcher = new ManagementObjectSearcher(mscope, oQuery);
ManagementObjectCollection moCollection = searcher.Get();
foreach (ManagementObject mo in moCollection)
{
string name = mo["Name"].ToString();
if (name.Equals(this.portName))
{
System.Threading.Thread.Sleep(10000);
mo["HostAddress"] = this.printerIP;
mo.Put();
Console.WriteLine("Adjusted Printer Port to new IP address " + this.printerIP);
return true;
}
}
你能提供有關操作系統的更多信息? – sra 2011-05-12 13:02:56
我只使用Windows 7 – Tim 2011-05-12 13:13:06