Ich entschied mich, Paulos Vorschlag zu nehmen und versuchen, Powershell/die Befehlszeile zu verwenden. Ich habe einen article über die Verbindung zu einem Netzwerk über die Befehlszeile gefunden.
in der Befehlszeile können Sie tun:
netsh wlan connect <profile-name> [name=<ssid-name>]
... wo der name=<ssid-name>
Teil notwendigerweise optional ist und nur dann, wenn das Profil mehrere SSIDs enthält.
Es sieht jedoch so aus, als ob das Profil bereits auf der Maschine vorhanden sein muss, damit die Befehlszeile funktioniert. Ich habe eine forum post gefunden, um ein Profil programmatisch zu erstellen, aber ich hatte keine Lust, daran teilzunehmen.
Wenn der Profilname bereits vorhanden ist, dann von Python können Sie etwas ähnliches wie die folgenden tun:
import subprocess
def connect_to_network(name):
process = subprocess.Popen(
'netsh wlan connect {0}'.format(name),
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
# Return `True` if we were able to successfully connect
return 'Connection request was completed successfully' in stdout
Es ist eine unvollkommene Lösung, und ich bin mir nicht ganz sicher, ob es in jedem Fall arbeiten werde , aber es hat für meinen speziellen Fall funktioniert. Ich dachte, ich würde posten, was ich mir ausgedacht habe, falls jemand anderes versuchen sollte, es zu modifizieren, um es besser zu machen.
Meinen Sie eine Verbindung zu einem drahtlosen Netzwerk? –
@FarukSahin: Ja, tut mir leid, das habe ich gemeint. Ich werde die Frage bearbeiten. – Michael0x2a