Jump to content
Sign in to follow this  
etr

VB6 Elencare interfacce di rete

Recommended Posts

Ciao a tutti,

 

"programmo" in Visual Basic 6.

quello che dovrei fare è elencare le interfacce di rete presenti e poter modificare i parametri come IP,Subnet mask, gateway, dns ..

 

come posso elencare le interfacce e interagire con esse ?

 

Google non mi è stato di aiuto; MSDN mi da delle API ma "strane" a cui non saprei interfacciarmi da VB come si fa di solito (Public function lib ecc.)..

 

Consigli ?

Share this post


Link to post
Share on other sites

beh, se ti fosse servito solo elencare, lo potevi fare con una certa facilità da registro di sistema ... ma per modificare, senza il riavvio, perché se il riavvio per te non è un prob puoi sempre usare il registro di sistema, devi per forza passare dalle api :\

Share this post


Link to post
Share on other sites

Passare dalle API non sarebbe un problema ...

 

il fatto è che sul sito Microsoft c'è moltissima documentazione ma non è nel formato "classico" con una funzione e la libreria da richiamare con Public function elencoint ecc. ecc.

 

Non so come usare le API prese dal sito ...

Share this post


Link to post
Share on other sites
Link a dove hai preso le API?

 

Probabilmente devi usare le Setup Api, se cerchi qualcosa in giro, forse anche su codeproject, lo trovi

 

o per lo meno in C# c'è spiegato ben benino come usarle e, credo, anche in VB6

 

---

 

googleggiando ho trovato

 

http://www.msfn.org/board/lofiversion/index.php/t70524.html

 

penso possa fare decisamente al caso tuo :)

 

In parte lavora per come ti avevo detto, ovvero legge i dati dal registro di sistema (Macchina Locale -> Configurazione Corrente -> Servizi -> TCPIP -> Interfacce)

 

Quindi mi correggo :D Pensavo si dovesse fare tramite le setupapi invece c'è un helper apposito per gestire il protocollo ip ^^

 

Qui ci stanno tutti gli entry point della libreria, ovvero le chiamate "visibili" dall'esterno

http://network.programming-in.net/articles/dll-api.aspx?dll=iphlpapi

 

Mentre qui ci sta l'elenco delle funzioni presenti nell'header

http://corelibrary.sourceforge.net/doxygen/IPHlpApi_8h.html

 

 

se ti serve altro puoi cercare eventualmente su google il nome delle api oppure lo puoi cercare sull'msdn

 

Ovviamente non fare troppo affidamento a quello che è riportato su quelle pagine perché magari da versione di windows a versione di windows ci sono delle differenze più o meno consistenti che ti possono mandare in palla tutto :D

 

---

ulteriore edit

---

 

per ricavare il nome dell'interfaccia partendo dal guid puoi usare sempre il registro di sistema estraendo le informazioni da

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}

 

accodandoci il guid della scheda di rete

 

(su vista la classe 4D36E972-E325-11CE-BFC1-08002BE10318 corrisponde alle periferiche di rete http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/85478.mspx?mfr=true )

 

Tra i valori vedo anche un DefaultNameIndex e DefaultNameResourceId quindi può essere che apparte cambiare il nome puoi anche cambiare l'icona, ma li non saprei dirti

 

Altrimenti, invece di complicarti cosi la vita, puoi usare la funzione GetAdaptersAddresses

 

Guarda se ti può possono essere utili questi thread e questi articoli

http://www.ipv6style.jp/en/apps/20060320/index.shtml

http://msdn2.microsoft.com/en-us/library/aa365915.aspx

http://www.codeguru.com/forum/archive/index.php/t-295784.html

http://www.gidforums.com/t-6654.html

http://www.codeguru.com/forum/showthread.php?t=295784

 

Qui ci sta la documentazione MS

http://msdn2.microsoft.com/en-us/library/aa366072.aspx

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×