首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取本地打印机列表以更改打印机IP和默认打印机

获取本地打印机列表以更改打印机IP和默认打印机
EN

Stack Overflow用户
提问于 2011-05-12 20:47:21
回答 1查看 1.8K关注 0票数 3

我怎样才能找到程序运行的机器的所有本地打印机,而这个用户没有管理员权限。我需要重新映射打印机IP并将打印机设置为默认打印机。我的想法是使用模拟来做这件事,但我不知道哪里可以找到打印机,也不知道使用模拟是不是一个好的解决方案。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-12 21:41:04

我认为你在这方面不会有任何运气。模拟在这里不起作用,只是抛出一个异常。你可以通过模拟来尝试这一点,然后尝试打开Environment.Domain,它会给你一个异常。

你可以在没有模仿的情况下尝试这样的事情:

代码语言:javascript
复制
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;
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5978205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档