Originariamente inviato da djciko
E' obbligo del buon forumista postare tutto ciò che riguarda lo scenario e le soluzioni alla domanda posta
vuoi dire "è prassi del buon forumista..."
Comunque, solo perchè sei un amico, ti mando un po' di codice. Magari te lo studi in spiaggia
codice:
.method public instance void SetDHCP(string macAddress) cil managed
{
// Code size 179 (0xb3)
.maxstack 4
.locals init (class [System.Management]System.Management.ManagementClass V_0,
class [System.Management]System.Management.ManagementObjectCollection V_1,
class [System.Management]System.Management.ManagementObject V_2,
class [System.Management]System.Management.ManagementBaseObject V_3,
class [System.Management]System.Management.ManagementBaseObject V_4,
class [System.Management]System.Management.ManagementBaseObject V_5,
class [mscorlib]System.Exception V_6,
class [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator V_7)
IL_0000: ldstr "Win32_NetworkAdapterConfiguration"
IL_0005: newobj instance void [System.Management]System.Management.ManagementClass::.ctor(string)
IL_000a: stloc.0
IL_000b: ldloc.0
IL_000c: callvirt instance class [System.Management]System.Management.ManagementObjectCollection [System.Management]System.Management.ManagementClass::GetInstances()
IL_0011: stloc.1
.try
{
IL_0012: ldloc.1
IL_0013: callvirt instance class [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator [System.Management]System.Management.ManagementObjectCollection::GetEnumerator()
IL_0018: stloc.s V_7
IL_001a: br.s IL_0098
IL_001c: ldloc.s V_7
IL_001e: callvirt instance class [System.Management]System.Management.ManagementBaseObject [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator::get_Current()
IL_0023: castclass [System.Management]System.Management.ManagementObject
IL_0028: stloc.2
IL_0029: ldloc.2
IL_002a: ldstr "IPEnabled"
IL_002f: callvirt instance object [System.Management]System.Management.ManagementBaseObject::get_Item(string)
IL_0034: call bool [Microsoft.VisualBasic]Microsoft.VisualBasic.CompilerServices.Conversions::ToBoolean(object)
IL_0039: brfalse.s IL_0098
IL_003b: ldloc.2
IL_003c: ldstr "MACAddress"
IL_0041: callvirt instance object [System.Management]System.Management.ManagementBaseObject::get_Item(string)
IL_0046: call string [Microsoft.VisualBasic]Microsoft.VisualBasic.CompilerServices.Conversions::ToString(object)
IL_004b: ldarg.1
IL_004c: ldc.i4.5
IL_004d: call bool [mscorlib]System.String::Equals(string,
string,
valuetype [mscorlib]System.StringComparison)
IL_0052: brfalse.s IL_0098
.try
{
IL_0054: ldloc.2
IL_0055: ldstr "SetDNSServerSearchOrder"
IL_005a: callvirt instance class [System.Management]System.Management.ManagementBaseObject [System.Management]System.Management.ManagementObject::GetMethodParameters(string)
IL_005f: stloc.s V_4
IL_0061: ldloc.s V_4
IL_0063: ldstr "DNSServerSearchOrder"
IL_0068: ldnull
IL_0069: callvirt instance void [System.Management]System.Management.ManagementBaseObject::set_Item(string,
object)
IL_006e: ldloc.2
IL_006f: ldstr "EnableDHCP"
IL_0074: ldnull
IL_0075: ldnull
IL_0076: callvirt instance class [System.Management]System.Management.ManagementBaseObject [System.Management]System.Management.ManagementObject::InvokeMethod(string,
class [System.Management]System.Management.ManagementBaseObject,
class [System.Management]System.Management.InvokeMethodOptions)
IL_007b: stloc.3
IL_007c: ldloc.2
IL_007d: ldstr "SetDNSServerSearchOrder"
IL_0082: ldloc.s V_4
IL_0084: ldnull
IL_0085: callvirt instance class [System.Management]System.Management.ManagementBaseObject [System.Management]System.Management.ManagementObject::InvokeMethod(string,
class [System.Management]System.Management.ManagementBaseObject,
class [System.Management]System.Management.InvokeMethodOptions)
IL_008a: stloc.s V_5
IL_008c: leave.s IL_0098
} // end .try
catch [mscorlib]System.Exception
{
IL_008e: dup
IL_008f: call void [Microsoft.VisualBasic]Microsoft.VisualBasic.CompilerServices.ProjectData::SetProjectError(class [mscorlib]System.Exception)
IL_0094: stloc.s V_6
IL_0096: rethrow
} // end handler
IL_0098: ldloc.s V_7
IL_009a: callvirt instance bool [System.Management]System.Management.ManagementObjectCollection/ManagementObjectEnumerator::MoveNext()
IL_009f: brtrue IL_001c
IL_00a4: leave.s IL_00b2
} // end .try
finally
{
IL_00a6: ldloc.s V_7
IL_00a8: brfalse.s IL_00b1
IL_00aa: ldloc.s V_7
IL_00ac: callvirt instance void [mscorlib]System.IDisposable::Dispose()
IL_00b1: endfinally
} // end handler
IL_00b2: ret
} // end of method Form1::SetDHCP