命名空间十字路口

时间:2016-04-06 19:00:38

标签: vb.net networking namespaces adapter

我是一名新手编码器,所以我不是那么知识渊博。请善待我的愚蠢问题。 我正在写一个IP地址切换实用程序

我有两个VB.NET函数: GetNIC()和MakeStatic()

GetNIC()使用System.Net.NetworkInformation命名空间。我正在运行以查找当前的IPv4适配器,IP,DGW,SM和其他信息。

MakeStatic()使用System.Management命名空间。我试图弄清楚如何使用GetNIC()中的信息来挑出相同的适配器并更改信息。这是我的代码片段来切换IP。我之前从未真正使用过ManagementBaseObjects,并且想知道如何找到与我在GetNIC()中找到的GUID相匹配的GUID(或其他东西)。

            Dim objNewIP As ManagementBaseObject = Nothing
            Dim objSetIP As ManagementBaseObject = Nothing
            Dim objNewGate As ManagementBaseObject = Nothing

            objNewIP = objMO.GetMethodParameters("EnableStatic")
            objNewGate = objMO.GetMethodParameters("SetGateways")

            'Set DefaultGateway
            objNewGate("DefaultIPGateway") = New String() {Gateway}
            objNewGate("GatewayCostMetric") = New Integer() {1}

            'Set IPAddress and Subnet Mask
            objNewIP("IPAddress") = New String() {IPAddress}
            objNewIP("SubnetMask") = New String() {SubnetMask}

            objSetIP = objMO.InvokeMethod("EnableStatic", objNewIP, Nothing)
            objSetIP = objMO.InvokeMethod("SetGateways", objNewGate, Nothing)

基本上我正在拍摄:

If objMO.<<something>> = NICguid then
   <<<Do the above code>>
End IF

1 个答案:

答案 0 :(得分:0)

发现它!

objMO("MACAddress")

谢谢!