答案1
我也遇到过类似的问题。当我没有连接到笔记本电脑的 win10 移动热点时,它会自动关闭。
尝试寻找移动热点的高级设置但找不到,其他人建议关闭“网络适配器”的电源功能,这是不正确的。
您需要更改热点虚拟适配器的设置,而不是网络适配器的设置。
解决方案:
- 激活移动热点。
2a. R 点击 wifi 系统图标,然后点击网络和互联网设置。您可能需要点击移动热点选项,然后找到网络和共享中心
或者
2b. 控制面板、网络和共享中心。
- 除了互联网 Wi-Fi/以太网连接之外,您还应该看到移动热点连接(检查热点 ssid 名称)。
- 点击热点连接下的“例如:局域网”连接
- 点击属性
- 您应该看到“连接使用”有 Microsoft WiFi Direct 虚拟适配器
- 配置
- 电源管理选项卡
- 取消选中-允许计算机关闭此设备以节省电量
答案2
如果尚未启用移动热点,我创建了 PowerShell 脚本来启用它。您可以将其保存为 .ps1 文件并将其添加到任务计划程序(我使用了本指南)脚本如下:
Add-Type -AssemblyName System.Runtime.WindowsRuntime
$asTaskGeneric = ([System.WindowsRuntimeSystemExtensions].GetMethods() | ? { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and $_.GetParameters()[0].ParameterType.Name -eq 'IAsyncOperation`1' })[0]
Function Await($WinRtTask, $ResultType) {
$asTask = $asTaskGeneric.MakeGenericMethod($ResultType)
$netTask = $asTask.Invoke($null, @($WinRtTask))
$netTask.Wait(-1) | Out-Null
$netTask.Result
}
Function AwaitAction($WinRtAction) {
$asTask = ([System.WindowsRuntimeSystemExtensions].GetMethods() | ? { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and !$_.IsGenericMethod })[0]
$netTask = $asTask.Invoke($null, @($WinRtAction))
$netTask.Wait(-1) | Out-Null
}
$connectionProfile = [Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetInternetConnectionProfile()
$tetheringManager = [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::CreateFromConnectionProfile($connectionProfile)
if ($tetheringManager.TetheringOperationalState -eq 1)
{
"Hotspot is already On!"
}
else{
"Hotspot is off! Turning it on"
Await ($tetheringManager.StartTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])
}
答案3
我创建了一个桌面应用程序,它会不断检查热点状态,如果热点关闭则将其打开,系统托盘图标会显示热点状态:
答案4
DanceDance 的另一个 PowerShell 答案可能有效,但我可以提供一个更简单的 PS 脚本来完成相同的操作。也就是说,我们希望每隔一段时间以编程方式启用热点,这样如果由于没有客户端连接而关闭热点,它将很快重新打开。
根据其他一些答案,这是我的 PS 脚本:
$connectionProfile = [Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetInternetConnectionProfile()
$tetheringManager = [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::CreateFromConnectionProfile($connectionProfile)
while ($true) {
$tetheringManager.StartTetheringAsync()
Start-Sleep -s 300
}
如果热点已关闭,此命令将启用热点,每 5 分钟检查一次。通过在 PS 中运行此命令,或通过常规命令行调用PowerShell.exe -File script.ps1
,它将确保热点在大多数时间保持开启状态。