如何获取/设置托管网络的 IP



我通过以下代码创建了一个虚拟WiFi热点,我现在需要获取其IP地址,但实际上我不知道其网络接口的名称(因为没有常量名称,"本地连接*16"也许(。

目标是知道其 IP 地址,因此设置托管网络的 IP 应该是解决方案之一......但最好不涉及手工工作。

这个问题真的卡住了我...请帮忙;(

private void Hotspot(string ssid, string key,bool status)
{
    ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd.exe");
    processStartInfo.RedirectStandardInput = true;
    processStartInfo.RedirectStandardOutput = true;
    processStartInfo.CreateNoWindow = true;
    processStartInfo.UseShellExecute = false;
    Process process = Process.Start(processStartInfo);
    if (process != null)
    {
        if (status)
        {
            process.StandardInput.WriteLine ("");
            process.StandardInput.WriteLine("netsh wlan set hostednetwork mode=allow ssid=" + ssid + " key=" + key);
            print ("cmd: "+"netsh wlan set hostednetwork mode=allow ssid=" + ssid + " key=" + key);
            process.StandardInput.WriteLine("netsh wlan start hostednetwork");
            print ("cmd: " + "netsh wlan start hostednetwork");
            process.StandardInput.Close();
        }
        else
        {
            process.StandardInput.WriteLine ("");
            process.StandardInput.WriteLine("netsh wlan stop hostednetwork");
            print ("cmd: " + "netsh wlan stop hostednetwork");
            process.StandardInput.Close();
        }
    }
}

此解决方案涉及一个假设:使用命令netsh wlan的虚拟热点地址将引用SYSTEMCurrentControlSetServicesWlanSvcParametersEapolKeyIpAddressLocalAddress的注册表项。

然而,我不会把它标记为答案,因为它有不确定性。欢迎讨论或评论。

private string GetVirtualHotspotIPAddress () {
    using (RegistryKey wlanKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\WlanSvc\Parameters\EapolKeyIpAddress")) {
        if (wlanKey != null) {
            object keyValue = wlanKey.GetValue ("LocalAddress");
            if (keyValue != null) {
                return keyValue.ToString ();
            } else {
                UnityEngine.Debug.LogError ("KEY 'LocalAddress' NOT FOUND");
                return null;
            }
        } else {
            UnityEngine.Debug.LogError ("No WLANSVC KEY FOUND");
            return null;
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新