PDA

Visualizza la versione completa : da codice, impostare automaticamente indirizzo IP


pietro09
14-07-2010, 07:45
Vorrei da codice (windows 7, c# o vb.net) impostare la scheda di rete in modo che:

1) ottiene automaticamente un indirizzo IP
2) ottiene automaticamente indirizzo server DNS

ciao :ciauz:

djciko
14-07-2010, 15:24
Dalla rete: http://bytes.com/topic/c-sharp/answers/267041-way-set-ip-address

tas
14-07-2010, 15:30
In questo esempio che ho trovato in rete si usa la libreria System.Management:
http://www.dreamincode.net/code/snippet2015.htm

In alternativa c'è il comando netsh. :ciauz:

pietro09
14-07-2010, 19:39
Ragazzi, vi ringrazio :)

Domani studio :ciauz:

djciko
15-07-2010, 13:55
Credo sia un thread riguardante più le WinApp che ASP.Net. :master:
Lascio qui comunque perchè interessante :)

pietro09
15-07-2010, 15:21
Originariamente inviato da djciko
Credo sia un thread riguardante più le WinApp che ASP.Net. :master:
Lascio qui comunque perchè interessante :)

Ho pure il codice... :D

djciko
16-07-2010, 11:55
E' obbligo del buon forumista postare tutto ciò che riguarda lo scenario e le soluzioni alla domanda posta :old:

pietro09
16-07-2010, 12:05
Originariamente inviato da djciko
E' obbligo del buon forumista postare tutto ciò che riguarda lo scenario e le soluzioni alla domanda posta :old:

:jam: vuoi dire "è prassi del buon forumista..."


Comunque, solo perchè sei un amico, :D ti mando un po' di codice. Magari te lo studi in spiaggia :D


.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::GetE numerator()
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(s tring)
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(s tring)
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::GetMethodParam eters(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(s tring,
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(s tring,
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(s tring,
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

djciko
16-07-2010, 14:37
No, tu sei un anziano qui dentro, quasi un moderatore, quindi per te è obbligo :D

Grazie cmq. Non vedo l'ora di stamparlo e studiarmelo fra una granita ed un tuffo ;)

pietro09
16-07-2010, 17:21
:) Finendo di scherzare, il codice è quello trovato in rete, compreso quello che mi hanno consigliato qui. :ciauz:

Loading