我决定接受Paulo的建议,并尝试使用Powershell /命令行。我找到了一篇有关通过命令行连接到网络的文章。
在命令行中,您可以执行以下操作:
netsh wlan connect <profile-name> [name=<ssid-name>]
…该name=<ssid-name>
部分是可选的,并且仅在概要文件包含多个ssid时才是必需的。
但是,看来配置文件必须已经在计算机上存在,才能使命令行工作正常。我确实找到了有关以编程方式创建个人资料的论坛帖子,但是我不喜欢通过它来浏览。
如果配置文件名称已经存在,则可以从Python中执行以下操作:
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
这不是一个完美的解决方案,我不确定它是否在每种情况下都可以使用,但是对于我的特定情况确实可以使用。我以为我会发表我的想法,以防其他人想尝试对其进行修改以使其更好。