Forum: PC-Programmierung Visual Basic WLAN verbinden/trennen


von MOBA 2. (Gast)


Lesenswert?

Hallo Leute,

ich möchte gerne mit meinem VB Programm (VB 2013) folgendes tuen:


Ich gucke, ob mein PC bereits eine WLAN verbindung offen hat

1. Fall 1: Ja -> trenne Verbindung und verbinde mit anderem Netzwerk (am 
besten dynamisch, dass man auswählen kann, bspw wenn im Netzwerk Marius 
enthalten ist)

2. Fall 2: Nein -> siehe Fall 1, nur ohne trennen, verbinde direkt.

Danach, wenn ich meine Sachen erledigt habe, soll sich wieder getrennt 
werden, und mit dem vorherigen Netzwerk (sofern vorher so gewesen), 
verbunden werden.



Ich habe viel im Netz gesucht, ich habe immer nur in C# was gefunden, 
leider nicht das was ich suche, vll weiß jmd. von euch was und hat eine 
nette Idee.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Marius D. schrieb:
> ich habe immer nur in C# was gefunden, leider nicht das was ich suche

Weil es C# ist, oder weil es doch was anderes macht?

C#-Code nutzt ebenfalls den .Net-Unterbau, daher sollte es leicht 
möglich sein, den Kram zu portieren. Entscheidend sind ja die 
API-Aufrufe, das wird (vermutlich) über WMI ("Windows management 
interface") abgewickelt, und die API ist die gleiche, egal von welcher 
Programmiersprache aus genutzt.

von MOBA 2. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Marius D. schrieb:
>> ich habe immer nur in C# was gefunden, leider nicht das was ich suche
>
> Weil es C# ist, oder weil es doch was anderes macht?
>
> C#-Code nutzt ebenfalls den .Net-Unterbau, daher sollte es leicht
> möglich sein, den Kram zu portieren. Entscheidend sind ja die
> API-Aufrufe, das wird (vermutlich) über WMI ("Windows management
> interface") abgewickelt, und die API ist die gleiche, egal von welcher
> Programmiersprache aus genutzt.

Naja geht so, ich weiß nicht ob der vll. doch was anderes macht; ich 
kann es aber auch nicht portieren, weil ich mich mit dem WMI nicht 
wirklich auskenne.

Weißt du wie das geht, bzw. hast du eine konkrete Ahnung, wie man das 
via WMI machen würde? Theoretisch müsste es möglich sein, oder?

von Malte S. (maltest)


Lesenswert?

Dr. Google sagthttp://www.pinvoke.net/default.aspx/wlanapi.wlanconnect 
zumindest fürs Verbinden. Vielleicht von da aus der Rest zu finden?

von MOBA 2. (Gast)


Lesenswert?

Ich werde es mal testen, noch nicht so ganz optimal, schön wäre es, wenn 
ich keine weiteren Dateien benötigen würde, da ich eigentlich nur die 
.exe haben will und nichts weiteres.

von Malte S. (maltest)


Lesenswert?

Soweit ich verstanden habe ist wlanapi.dll Teil von Windows. Ich meinte 
nicht die dort verlinkte Managed API.

von tutnixzurSache (Gast)


Lesenswert?

Marius D. schrieb:
> Ich gucke, ob mein PC bereits eine WLAN verbindung offen hat
>
> 1. Fall 1: Ja -> trenne Verbindung

Da beginnt es schon.
Wenn eine Wlan Verbindung "offen" ist, was willst du trennen?
Was meinst du mit "Verbindung offen" ?
ist die dann geschlossen?
ist die dann in einer Quue / Warteschleife, und wartet auf eine 
Verbindung?

> Ich habe viel im Netz gesucht, ich habe immer nur in C# was gefunden,

Wie Rufus schon sagte, nimm das C# Projekt und importiere es in VB, 
beides verwenden die gleiche Net Technologie.

von MOBA 2. (Gast)


Lesenswert?

tutnixzurSache schrieb:
> Marius D. schrieb:
>> Ich gucke, ob mein PC bereits eine WLAN verbindung offen hat
>>
>> 1. Fall 1: Ja -> trenne Verbindung
>
> Da beginnt es schon.
> Wenn eine Wlan Verbindung "offen" ist, was willst du trennen?
> Was meinst du mit "Verbindung offen" ?
> ist die dann geschlossen?
> ist die dann in einer Quue / Warteschleife, und wartet auf eine
> Verbindung?

Ja, wenn du bspw. nen Laptop hast, und in deinem WLAN bist, musst du 
dich erst trennen, bevor du dich mit dem AP verbinden kannst.



>> Ich habe viel im Netz gesucht, ich habe immer nur in C# was gefunden,
>
> Wie Rufus schon sagte, nimm das C# Projekt und importiere es in VB,
> beides verwenden die gleiche Net Technologie.

Wenn ich wüsste, wie ich das portieren könnte - das wäre schön!

von c-hater (Gast)


Lesenswert?

Marius D. schrieb:

> Wenn ich wüsste, wie ich das portieren könnte - das wäre schön!

Warum willst du es eigentlich unbedingt portieren? Nimm' doch einfach 
das C#-Programm, so wie es ist.

Oder, wenn das Teil einigermaßen professionell organisiert ist, dann 
halt nur den benötigten Unterbau und benutzt den dann von einem eigenen 
VB-Programm aus.

Und wenn es tatsächlich aus irgendwelchen völlig unerfindlichen Gründen 
ein vollständiger Port sein muß: so schwer ist das nun wirklich nicht. 
VB.net und C# verfügen wegen des gemeinsamen .net-Unterbaus 
weitestgehend über die gleichen Sprachkonstrukte, nur die Syntax ist 
halt verschieden. Allerdings auch nicht so verschieden, daß man die 
Unterschiede nicht mit ein paar Stunden Zeitaufwand lernen könnte, 
jedenfalls wenn man VB.net tatächlich beherrscht. Und dann kann man auch 
C# wenigstens gut lesen und (wenn auch etwas mühsam) auch schreiben.

Der Rest ist dann nur eine Frage des Fleißes, wenn man VB.Net gut 
beherscht und C# wenigstens einigermaßen lesend, dann tippt man einen 
Port von C# nach VB.net genauso schnell runter, als wenn man den 
handgeschriebenen Einkaufszettel von Omma in die Textverarbeitung 
eintippt.

Und, last but not least, gibt es Tools, die lauffähigen .Net-Code 
automatisch in eine .net-Sprache deiner Wahl konvertieren können. Dabei 
gehen dann allerdings die Redundanzen des ursprünglichen Quelltextes 
verloren, z.B. Kommentare und die Namen lokaler Variablen. Es ist dann 
sinnvoll, aus dem ursprünglichen Quelltext und dem Output des 
Decompilers einen VB.net-Quelltext zu schaffen, der diese Informationen 
wieder enthält.

Spart aber trotzdem nochmal sehr viel Portierungsarbeit, wenn man nicht 
alles von Hand eintippen muß, sondern so einen automatisch erzeugten 
Port bloß sinnvoll nachbearbeitet. Außerdem gewinnt man dabei auch 
gleich einen Einblick in die Funktionsweise der Software, den die 
normalen C&P-Idioten niemals erlangen...

von MOBA 2. (Gast)


Lesenswert?

c-hater schrieb:
> Marius D. schrieb:
>
>> Wenn ich wüsste, wie ich das portieren könnte - das wäre schön!
>
> Warum willst du es eigentlich unbedingt portieren? Nimm' doch einfach
> das C#-Programm, so wie es ist.
>
> Oder, wenn das Teil einigermaßen professionell organisiert ist, dann
> halt nur den benötigten Unterbau und benutzt den dann von einem eigenen
> VB-Programm aus.....


Wenn das so einfach und schnell gemacht ist, kannst du mir dann nicht 
die Portierung hier posten bzw. den Portierer?

Und ja, es hat seine Gründe, warum es VB sein muss, und nur VB!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.