ManagementObject_getsuperclass方法

ManagementObject_getsuperclass方法原文:http://blog.csdn.net/hardstone1/article/details/5380775网上代码和MSDN帮助中都没有列出 ManagementObject[""]这里到底有哪些属性可以使用,参考了http://www.groupsrv.com/dotnet/about69957.html了之后发现了可以枚举出来所有属性,代码如函数getallprop()。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

原文:http://blog.csdn.net/hardstone1/article/details/5380775

网上代码和MSDN帮助中都没有列出 ManagementObject[” “]这里到底有哪些属性可以使用,参考了http://www.groupsrv.com/dotnet/about69957.html了之后发现了可以枚举出来所有属性,代码如函数getallprop()。

函数useprop中描述了如何获取以激活的网卡的IP地址和它的驱动程序名称,如果大伙需要其他的网卡其他属性,就到getallprop()的结果中去找了,全英文的属性,没有对应的中文介绍,太多了,自己慢慢望文生义吧。

 

       public void getallprop() //获取某个ManagementClass[” “]的所有属性名和值
        {

            ManagementClass c = new ManagementClass(“Win32_Process”);
            ManagementClass mc;
            mc = new ManagementClass(“Win32_NetworkAdapterConfiguration”);//网卡信息

            //mc = new ManagementClass(“Win32_Process”);//查看系统进程信息

            ManagementObjectCollection moc = mc.GetInstances();

            foreach (ManagementObject o in moc)
                foreach (PropertyData prop in o.Properties)
                    textBox2.Text += prop.Name + “—” + prop.Value + “/r/n”;  //列出所有可以使用的属性名和值

               
        }

 

        public string useprop()  //具体属性名的使用
        {

            string []mac ;
            ManagementClass mc;
            mc = new ManagementClass(“Win32_NetworkAdapterConfiguration”);
            ManagementObjectCollection moc = mc.GetInstances();
            foreach (ManagementObject mo in moc)
            {

                if (mo[“IPEnabled”].ToString() == “True”)
                {

                    mac = (System.String[]) mo[“IPAddress”];     //获去某网卡IP地址,可以多IP,所以是string[]类型

                    textBox2.Text += mac[0];//获得某网卡的第一个IP
                    textBox2.Text += mo[“ServiceName”] + “/r/n”; //这个是网卡的驱动程序名
                }
            }
          
            return “”;
        }

 

 

 

原文:http://www.cnblogs.com/xiangdejun/archive/2010/07/22/1783061.html

1. 添加

System.Management 的引用

2. 在cs代码中初始化引用

ManagementClass mc = new ManagementClass(“引用的WMI库名称”);

可供引用的WMI类库在MSDN中可查到:

http://msdn.microsoft.com/en-us/library/aa394084(v=VS.85).aspx

3. 获取WMI实例

ManagementObjectCollection moc= vNetworkAdapter.GetInstances();

这里获取到的是WMI实例集合,例如,获取网络适配器信息,这里会获取到无线连接、有线连接、1394连接等与网络连接有关的实例集合。

4. 循环个实例获取其属性

foreach (ManagementObject mo in moc)
{

  //TODO: 获取各实例属性

  //实例各属性、方法、解释也可在http://msdn.microsoft.com/en-us/library/aa394084(v=VS.85).aspx里查到

}

5. 修改

修改需要用到 ManagementObject.InvokeMethod(MethodName, ManagementBaseObject, InvokeMethodOptions ); 方法

MethodName 为要执行的方法名称的,也可在上面MSDN的链接中查到;

ManagementBaseObject 不好解释,官方解释为“包含管理对象的基本元素。用作管理更具体的管理对象类的基类。”

InvokeMethodOptions 执行附加选项,可以为NULL。

 

完整实例:

复制代码
ManagementClass mc 
=
 
new
 ManagementClass(

Win32_NetworkAdapterConfiguration

);
ManagementObjectCollection moc 

=
 mc.GetInstances();

foreach
 (ManagementObject  mo 
in
 moc)
{

    

//
如果没有启用IP设置的网络设备则跳过   


    
if
 (
!
(
bool
)mo[

IPEnabled

])
        

continue

    
//
 获取属性


    
string
 caption 
=
 mo[

Caption

].ToString();              
//
名称


    
string
[] addresses 
=
 (
string
[])mo[

IPAddress

];         
//
IP地址


    
string
[] subnets 
=
 (
string
[])mo[

IPSubnet

];            
//
子网掩码


    
string
[] gateways 
=
 (
string
[])mo[

DefaultIPGateway

];   
//
网关


    
string
[] dnses 
=
 (
string
[])mo[

DNSServerSearchOrder

];  
//
DNS



    ManagementBaseObject newIP;

    
//
 修改IP及子网掩码


    newIP 
=
 mo.GetMethodParameters(

EnableStatic

);    
    newIP[


IPAddress


=
 
new
 
string
[] { 

192.168.2.51

 };
    newIP[


SubnetMask


=
 
new
 
string
[] { 

255.255.255.0

 }; 
//
修改IP同时,需要填写子网掩码


    mo.InvokeMethod(

EnableStatic

, newIP, 
null
);
    

    
//
 设置网关地址 


    newIP 
=
 mo.GetMethodParameters(

SetGateways

);
    newIP[


DefaultIPGateway


=
 
new
 
string
[] { 

192.168.2.1

 };
    mo.InvokeMethod(


SetGateways

, newIP, 
null
);

    
//
 设置DNS 


    newIP 
=
 mo.GetMethodParameters(

SetDNSServerSearchOrder

);
    newIP[


DNSServerSearchOrder


=
 
new
 
string
[] { 

192.168.1.10

 };
    mo.InvokeMethod(


SetDNSServerSearchOrder

, newIP, 
null
);
   
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186607.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 8种HOOK技术[通俗易懂]

    8种HOOK技术[通俗易懂]1.IAT_HOOKIAT是程序中存储导入函数地址的数据结构,如果HOOK了导入函数地址。就可以在函数调用的时候,将函数流程HOOK到我们指定的流程。但是我个人觉得这种方式最好要结合DLL注入的方式,如果单纯的使用HOOK,那么就需要将需要执行的操作的shellcode写入目标进程,如果操作复杂,可能需要的shellcode量特别大,所以我们需要借助DLL注入,这样就将我们需要执行的代码写入…

    2022年5月26日
    30
  • 芯片行业未来_为什么中国没有自己的芯片架构

    芯片行业未来_为什么中国没有自己的芯片架构【CSDN编者按】随着设备扩展带来的效益越来越少,人们开始设计内置AI的系统,以在本地处理更多数据。芯片制造商正在研究一种新的结构,这种结构能够显著增加每能耗和每个时钟周…

    2022年9月7日
    0
  • jdk1.8的环境配置「建议收藏」

    jdk1.8的环境配置「建议收藏」jdk1.8的环境配置原文地址:传送门每日必答:在开始之前呢,小Du来来带大家了解几个问题,希望能够在面试中,小Du的解答给你帮助。1.什么是JDK?答:javadevelopmentkit的缩写,意思是JAVA开发工具,我们写文档做PPT需要office办公软件,开发当然需要开发工具了,说到开发工具大家肯定会想到Eclipse,但是如果直接安装Eclipse你会发现它是运行不起来是会报错的,只有安装了JDK,配置好了环境变量和path才可以运行成功。2.JRE是什么?答:jav

    2022年6月11日
    34
  • 九章算法_九章算法(杭州)科技有限公司

    九章算法_九章算法(杭州)科技有限公司1BST迭代器注意点:1.实际就是中序遍历的非递归写法,迭代器就是要用Stack存储数据,不过把不同的模块功能进行了分割,而不是一次完成中序遍历;2.可以把添加到Stack单独抽取成一个函数

    2022年8月3日
    2
  • 基于CCXT接口建立的多模块数字货币量化交易模型(MMQT)在python中的实现[通俗易懂]

    基于CCXT接口建立的多模块数字货币量化交易模型(MMQT)在python中的实现[通俗易懂]目录一、前言问题的引出MMQT模型的优势二、MMQT简介1.接口模块2.风控模块3.策略模块4.反馈模块三、MMQT的代码实现1.定义中间模块(类)1.初始化2.获取账户信息、交易对信息、订单信息3.数据更新4.创建订单5.获取订单状态6.撤销订单7.获取k线信息2.定义风控模块(类)3.定义策略模块(类)1.策略模块初始化2.技术分析及交易下单3.反馈模块4.相关类实例化1.ccxt实例化2.中间类、风控类、策略类实例化3.调控程序四、回测的代码实现1.获取数据2.数据清洗3.模拟账户初始化4.回测程序五

    2022年6月26日
    114
  • 《Android应用开发揭秘》连载3

    《Android应用开发揭秘》连载3《Android应用开发揭秘》  书名:Android应用开发揭秘作者:杨丰盛出版社:机械工业出版社ISBN:9787111291954出版日期:2010年3月(1版2次)开本:16页码:515版次:1-2定价:69元豆瓣网讨论地址:http://www.douban.com/subject/4200822/China-pub预订地址:http://www.china-pub.

    2022年6月10日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号