Seite 2 von 2
Re: wie LAN trennen unter Windows10
Verfasst: 27.01.2018 20:07
von RSBasic
Laut MSDN soll man diese WinAPI-Funktion nicht mehr verwenden, sondern stattdessen die Methode GetConnectivity vom Interface INetworkListManager. Da konnte ich aber im PB-Forum keinen Beispielcode finden.
Du kannst, wie _JON_ vorgeschlagen, mit netsh interface show interface den Namen auslesen. Beispielcode:
http://www.purebasic.fr/english/viewtop ... 16#p498516
Der Nachteil ist aber die folgende Abfrage:
In der deutschen Windows-Version muss aber so lauten:
Aber weiter unten im Thread gibt es ein Beispielcode zum Auslesen des Namens aus der Registry. Die einzelnen Verbindungseinträge sind hier gespeichert: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\
Re: wie LAN trennen unter Windows10
Verfasst: 28.01.2018 15:40
von udg
wow, ich hätte nie gedacht das so eine simple Sache so einen Aufwand für W10 benötigt. mal sehen ob ich das hinbekomme.
Danke für die vielen Infos
Re: wie LAN trennen unter Windows10
Verfasst: 28.01.2018 18:01
von Benubi
udg hat geschrieben:wow, ich hätte nie gedacht das so eine simple Sache so einen Aufwand für W10 benötigt. mal sehen ob ich das hinbekomme.
Danke für die vielen Infos
Ja, und wenn Du auf sowas stehst, bist Du bei Windows immer an der richtigen Adresse!
Als User, Programmierer oder Administrator ...

Re: wie LAN trennen unter Windows10
Verfasst: 28.01.2018 18:09
von RSBasic
@Benubi
Als ob die Entwicklung mit der API-Schnittstelle unter Linux immer einfach ist. Es gibt immer einfache und aufwendige Funktionen.
Da habe ich unter
http://chabba.de/LinuxAPI.html auch schon komplexe Codes gesehen, obwohl das Ergebnis, welches man haben möchte, nur eine Kleinigkeit ist.
Re: wie LAN trennen unter Windows10
Verfasst: 28.01.2018 18:49
von Benubi
RSBasic hat geschrieben:@Benubi
Als ob die Entwicklung mit der API-Schnittstelle unter Linux immer einfach ist. Es gibt immer einfache und aufwendige Funktionen.
Da habe ich unter
http://chabba.de/LinuxAPI.html auch schon komplexe Codes gesehen, obwohl das Ergebnis, welches man haben möchte, nur eine Kleinigkeit ist.
Du hast natürlich Recht ! Ich mache mir da auch gar keine Illusionen - ich entwickle ja nicht unter Linux, sondern nur unter Windows (BIS JETZT) ; allerdings hat Windows ja gerne den Anspruch "Professional" zu sein und kostet Geld. Die verdienen Milliarden und machen es uns kleinen Entwicklern anscheinend absichtlich schwer, auf Ihre OS/API zuzugreifen ... sei es weil die Dokumentation schwächelt, oder weil es bewusst erschwert wird. Die Linuxer wurden ja immer als "Frickler" bescholten, als "Bastler" und "Anfänger" und "unprofessionell" und so ne "Studenten" etc. ... Die Windows API ist nur mit nicht-Microsoft-Quellen verständlich, jedenfalls für mich.
Man kann auch ein paar tausend EUR / US$ ausgeben um sich zum Profi bei MS ausbilden lassen; dann kannst Du alles aber nur auf einer Version von Windows z.B. windows7 oder windows2000. Dann kannst Du für jede Windows Version eine neue Ausbildung/Weiterbildung machen; jedesmal wird es anders gemacht. Es kommt was dazu, manche Sachen gehen nicht mehr und dann wird mal einfach so alles geändert... Wenn man sich für solch einen Weg entscheidet, hat man auch keine Zeit mehr für PureBasic oder nicht-MS-Programmiersprachen und man ist für eine Weile (oder für immer) an der Leine von MS. Dann benutzt man nur noch MS Produkte, weil diese eben am Produktivsten sind und alles können und man ist zu 100% abhängig, und verliert die Platform-Unabhängigkeit etc. Wenn man seine gesamte Zeit in etwas investiert, fehlt die Zeit für Alternativen bzw. Konkurenzprodukte... Und wärend es schwer bis unmöglich ist dies und das in Windows zu machen, wird es für Windows immer einfacher nach Hause zu telefonieren.
Also nur weil Linux "manchmal schlecht" ist, heisst es nicht das MS Windows "in der Regel besser" ist. Es ging mir nicht die OS zu vergleichen auch wenn das ein wenig jetzt passiert ist. Ich wünschte nur es gäbe noch einen aktuellen, lebenden Amiga - dann wäre vermutlich wirklich "alles" besser

Re: wie LAN trennen unter Windows10
Verfasst: 30.01.2018 02:47
von udg
gut und schön, hilft aber noch nicht weiter

Re: wie LAN trennen unter Windows10
Verfasst: 30.01.2018 09:48
von RSBasic
Andere Möglichkeit, den Verbindungsnamen auszulesen:
Code: Alles auswählen
wmic.exe nic where "NetConnectionStatus=2" get NetConnectionID
Du musst nur wssen, welcher Eintrag das ist.
Re: wie LAN trennen unter Windows10
Verfasst: 30.01.2018 10:08
von RSBasic
Und hier ein Beispielcode, wie man den Namen mit Hilfe der GUID auslesen kann:
Code: Alles auswählen
EnableExplicit
#MAX_ADAPTER_NAME = 128
Procedure.s GetConnectionName(ConnectionGUID$)
Protected Size = #MAX_ADAPTER_NAME
Protected Name$
Protected Result
Protected Key
Name$ = Space(Size)
Result = RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" + ConnectionGUID$ + "\Connection", 0, #KEY_READ, @Key)
If Result = 0
RegQueryValueEx_(Key, "Name", 0, 0, @Name$, @Size)
RegCloseKey_(Key)
EndIf
ProcedureReturn Name$
EndProcedure
MessageRequester("", GetConnectionName("{4AAD9BA1-5023-4A2C-AB7B-485DF595671D}"), 0)
Die GUID kannst du mit folgendem Code auslesen:
http://www.purebasic.fr/english/viewtop ... 70#p498570
Problem ist wieder, du bekommst mehrere Einträge zurück, wenn auf dem Computer mehrere Verbindungen existieren.
Wie man herausfindet, welche Verbindung davon die LAN-Verbindung ist, mit der man ins Internet geht, weiß ich nicht.
Re: wie LAN trennen unter Windows10
Verfasst: 30.01.2018 20:31
von udg
ich geb auf.
Das funktioniert alles nicht oder nur sporadisch.
Dann bleibts.