Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用&x201C;本机Wifi API”;使用ruby的Windows API函数_Ruby_Windows_Winapi_Wifi_Wlanapi - Fatal编程技术网

如何使用&x201C;本机Wifi API”;使用ruby的Windows API函数

如何使用&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 如果成功,我可以通过以下

我的设置:Windows7,Ruby 1.9.3

我想管理无线NIC以访问不同的无线路由器,以下是我尝试过的:

方法1:
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>