如何使用&x201C;本机Wifi API”;使用ruby的Windows API函数
我的设置:Windows7,Ruby 1.9.3 我想管理无线NIC以访问不同的无线路由器,以下是我尝试过的: 方法1:如何使用&x201C;本机Wifi API”;使用ruby的Windows API函数,ruby,windows,winapi,wifi,wlanapi,Ruby,Windows,Winapi,Wifi,Wlanapi,我的设置:Windows7,Ruby 1.9.3 我想管理无线NIC以访问不同的无线路由器,以下是我尝试过的: 方法1:netsh无线局域网 通过netsh命令工具管理WLAN适配器 因此,我在Windows中设置无线网络,并使用 netsh wlan export profile name="wuhongliang" folder = "d:\" interface="Wireless" key=clear 如果成功,我可以通过以下
netsh无线局域网
通过netsh
命令工具管理WLAN适配器
因此,我在Windows中设置无线网络,并使用
netsh wlan export profile name="wuhongliang" folder = "d:\" interface="Wireless" key=clear
如果成功,我可以通过以下操作添加配置文件并连接:
> netsh wlan add profile ^
filename="d:\wireless-wuhongliang.xml" ^
interface="wireless" Profile
wuhongliang is added on interface Wireless.
> netsh wlan connect name="wuhongliang" ^
ssid="wuhongliang"
Connection request was completed successfully.
它可以工作并使用导出的配置文件将我连接到WLAN
因此,看看XML概要文件:
<?xml version="1.0" ?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>wuhongliang</name>
<SSIDConfig>
<SSID>
<hex>7775686F6E676C69616E67</hex>
<name>wuhongliang</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</connectionMode>
<MSM>
<security>
<authEncryption>
<authentication>WPA2PSK</authentication>
<encryption>AES</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>passPhrase</keyType>
<protected>true</protected>
<keyMaterial>[Long Encrypted Key]</keyMaterial>
</sharedKey>
</security>
</MSM>
</WLANProfile>
在
sharedKey
标记中将protected
值更改为false
,并且keyMaterial
值可以导入到纯文本中
<sharedKey>
<keyType>passPhrase</keyType>
<protected>false</protected>
<keyMaterial>[The Password]</keyMaterial>
</sharedKey>
密码短语
假的
[密码]
key=clear
选项本来应该为您这样做,但显然不是。请编辑问题,使其可读。你没有我们可以运行的Javascript。我对问题的格式感到抱歉,我花了大约3个小时来编辑问题的文本,这对我来说很难做到,但我会慢慢修改,请不要删除我的问题,谢谢你为我编辑问题,虽然我不知道你是谁,但非常感谢你的回答!它可以工作
我真的很想学习如何用ruby调用wlanapi.dll
,我将不得不调用一些其他的Win32 API,比如user32
,kernel32
,所以,如果我掌握了如何使用wlanapi
,我将知道怎么做。你能帮帮我吗?那完全是另一个问题。必须处理如何使用Ruby中的dll
s的问题。
<sharedKey>
<keyType>passPhrase</keyType>
<protected>false</protected>
<keyMaterial>[The Password]</keyMaterial>
</sharedKey>