You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# Windows应用中控制Windows 10移动热点(Mobile Hotspot)设置

解决方案

方案1:调用WinRT原生API(推荐,可控性更高)

该API并不限制仅WinRT/UWP应用使用,桌面端的WPF、WinForms、控制台项目都可以直接集成,支持Windows 10 1709及以上版本系统。

  • 安装对应NuGet包:
    如果你使用.NET 6+,安装Microsoft.Windows.SDK.NET.Ref,版本匹配你需要支持的最低Windows系统版本即可
    如果你使用.NET Framework 4.6.1+,安装Microsoft.Windows.SDK.Contracts
  • 核心实现代码:
using Windows.Networking.NetworkOperators;
using Windows.Devices.WiFi;

// 首先获取当前WiFi适配器
var wifiAdapters = await WiFiAdapter.FindAllAsync();
if (wifiAdapters.Count == 0) return;
var firstAdapter = wifiAdapters[0];

// 初始化热点管理器
var tetheringManager = NetworkOperatorTetheringManager.CreateFromWiFiAdapter(firstAdapter);

// 配置热点SSID和密码
var conf = new NetworkOperatorTetheringAccessPointConfiguration
{
    Ssid = "自定义热点名称",
    Passphrase = "至少8位的密码",
    Band = TetheringWiFiBand.Auto // 可根据需求指定2.4G或5G频段
};
await tetheringManager.ConfigureAccessPointAsync(conf);

// 启动热点
var result = await tetheringManager.StartTetheringAsync();
if (result.Status == TetheringOperationStatus.Success)
{
    // 启动成功逻辑
}

// 停止热点调用下方方法即可
// await tetheringManager.StopTetheringAsync();

方案2:调用PowerShell命令(无需额外依赖,兼容性好)

如果不想引入WinRT相关依赖,可以直接调用Windows自带的PowerShell命令实现控制,支持Windows 10 2004及以上版本。
核心实现代码:

using System.Diagnostics;

// 设置热点SSID和密码
var setProcess = new ProcessStartInfo
{
    FileName = "powershell.exe",
    Arguments = "-Command \"Set-MobileHotspot -Ssid '自定义热点名' -Passphrase '自定义密码'\"",
    UseShellExecute = false,
    CreateNoWindow = true,
    Verb = "runas" // 申请管理员权限
};
Process.Start(setProcess)?.WaitForExit();

// 启动热点
var startProcess = new ProcessStartInfo
{
    FileName = "powershell.exe",
    Arguments = "-Command \"Start-MobileHotspot\"",
    UseShellExecute = false,
    CreateNoWindow = true,
    Verb = "runas"
};
Process.Start(startProcess)?.WaitForExit();

// 停止热点执行Stop-MobileHotspot命令即可

注意事项

  • 两种方案都要求应用运行时具备管理员权限,修改网络配置属于系统级操作,无权限会执行失败
  • 你已经确认目标PC手动开启移动热点正常,无需额外处理网卡兼容性问题
  • 如果需要获取热点当前运行状态,可以通过NetworkOperatorTetheringManager.TetheringOperationalState属性读取,或者执行PowerShell命令Get-MobileHotspot获取状态信息

内容的提问来源于stack exchange,提问作者Yaron Habot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:15:04