관리자 권한이없는 사용자가 프로그램을 실행중인 컴퓨터의 모든 로컬 프린터를 어떻게 찾을 수 있습니까? 프린터 IP를 다시 매핑하고 프린터를 기본값으로 설정해야합니다. 내 생각은 가장을 사용하여이 작업을 수행하지만 프린터를 찾을 위치와 가장을 사용하는 좋은 해결책인지는 알 수 없습니다.프린터 IP 및 기본 프린터를 변경하는 로컬 프린터 목록 가져 오기
도움 주셔서 감사합니다.
관리자 권한이없는 사용자가 프로그램을 실행중인 컴퓨터의 모든 로컬 프린터를 어떻게 찾을 수 있습니까? 프린터 IP를 다시 매핑하고 프린터를 기본값으로 설정해야합니다. 내 생각은 가장을 사용하여이 작업을 수행하지만 프린터를 찾을 위치와 가장을 사용하는 좋은 해결책인지는 알 수 없습니다.프린터 IP 및 기본 프린터를 변경하는 로컬 프린터 목록 가져 오기
도움 주셔서 감사합니다.
나는 당신이 이걸 가지고 행운이 없을 것이라고 생각하지 않습니다. 가장은 여기서 작동하지 않고 그냥 예외를 throw합니다. 가장을 만들어 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
나는 창문 7만을 사용합니다. – Tim