PC が接続されている SSID を取得する Windows ベースの Web アプレットを構築しようとしています! これは私が現在行っていることですが、別の方法またはこれの改善を見たいと思っています. JavaScript がリクエストをアプレットに送信し、Java アプレットからのレスポンスにテキスト ボックスの値を追加するという考え方です。
JavaScript
var ssid = applet.getNetworkParameter("SSID", networkInterface);
ジャワ
public String getNetworkParameter(final String parameter, final String arg1){
setAppletStringReturnValue("");
AccessController.doPrivileged(new PrivilegedAction(){
public Object run() {
try {
if (osName.indexOf("win") > -1)
{
this.osNetDriver = new Windows7NetServices();
}
if (parameter.equals("SSID")){
SmartConfig.this.setAppletStringReturnValue(SmartConfig.this.osNetDriver.getSSID(arg1));
}
}
}
return null;
}
});
return this.appletStringValue;
}
public String getSSID(String interfaceName){
try
{
String cmd = "NETSH WLAN SHOW INTERFACE";
boolean parsingAllowed = false;
Runtime run = Runtime.getRuntime();
Process pr = run.exec(cmd);
pr.waitFor();
BufferedReader buf = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line = "";
while ((line = buf.readLine()) != null)
{
String[] arr = line.split(":");
if (arr.length >= 2)
{
String parameter = arr[0].trim();
String value = arr[1].trim();
if (parameter.equals("Name"))
{
parsingAllowed = value.equals(interfaceName);
}
if ((parameter.equals("SSID")) && (parsingAllowed))
{
return value;
}
}
}
}
return "";
}