Wlan SSID in java/c++

Wlan SSID in java/c++

本文关键字:c++ java in SSID Wlan      更新时间:2023-10-16

有什么方法可以用java或C++获取WLAN信息,如SSID、信号强度等吗?

我知道C++中的wlanscan函数。有人能给我举个如何实施的例子吗?

还有一个针对java的jwlanscanapi,但它对我不起作用

操作系统:Windows 7

如有任何帮助,我们将不胜感激。谢谢

编辑:

        {
            System.loadLibrary("wireless"); 
        }
        List list = getNetworkAdapterInfo();
        if (list == null)
            System.out.println("None Network Adapter.");
        else
            for (Iterator ite = list.iterator(); ite.hasNext(); )
            {
                NetworkAdapterInfo nic = (NetworkAdapterInfo)ite.next();
                System.out.println(nic.toString());
                List listap = getWirelessApInfo(nic.getName());
                if (listap == null) {
                    System.out.println("None Access Point.");
                }
                else {
                    System.out.println("Access Point:");
                    for (Iterator ite1 = listap.iterator(); ite1.hasNext(); )
                    {
                        WirelessApInfo ap = (WirelessApInfo)ite1.next();
                        System.out.println(ap.toString());
                    }
                }
                System.out.println("");
            }

到目前为止,我有这个代码(jwlanscanapi)。它不返回任何访问点。

经过一番搜索,我自己得到了答案。:)

用于获取信号强度的WLAN API

这个C++代码显示所有所需的wlan信息。

下面的帖子详细介绍了如何创建WLAN对象并访问您需要的信息

如何查找Java、C#和/或C中的无线网络(SSID';s)列表?

    WlanClient client = new WlanClient(); 
foreach ( WlanClient.WlanInterface wlanIface in client.Interfaces ) 
{ 
    // Lists all available networks 
    Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList( 0 ); 
    foreach ( Wlan.WlanAvailableNetwork network in networks ) 
    {                      
        Console.WriteLine( "Found network with SSID {0}.", GetStringForSSID(network.dot11Ssid)); 
    } 
} 
static string GetStringForSSID(Wlan.Dot11Ssid ssid) 
{ 
    return Encoding.ASCII.GetString( ssid.SSID, 0, (int) ssid.SSIDLength ); 
} 

更新:

好吧,我的错,

我想没有用于wlan连接的本地javaapi。唯一的方法是通过操作系统本机api获取信息。