UWP中RemoteSystem.FindByHostNameAsync无法识别Windows 11设备
解决UWP通过IP发现Windows 11远程系统返回null的问题
问题代码
Windows.Networking.HostName deviceHost = new Windows.Networking.HostName("192.168.1.105"); var status = await RemoteSystem.RequestAccessAsync(); var remoteSys = await RemoteSystem.FindByHostNameAsync(deviceHost);
排查与解决建议
- 检查Windows 11设备防火墙:在Windows Defender防火墙的“允许应用或功能通过防火墙”列表中,找到目标UWP应用,确保勾选专用网络权限;同时确认未拦截WS-Discovery等远程系统发现协议。
- 启用Windows 11的远程发现设置:打开「设置→系统→投影到此电脑」,确保“当你同意时,这台电脑可以被搜索到”处于开启状态;同时检查“允许远程连接到此电脑”相关配置。
- 切换网络类型为专用:Windows 11默认仅在专用网络下启用远程系统发现,进入「设置→网络和Internet→对应网络→网络属性」,将网络配置文件改为专用。
- 检查关键服务状态:通过
services.msc打开服务管理器,确保「Remote Registry」「Function Discovery Resource Publication」「SSDP Discovery」服务处于运行状态,启动类型设为自动。 - 尝试主机名替代IP:将代码中的IP地址替换为Windows 11设备的主机名进行测试,排查IP寻址的特殊限制问题。
- 验证UWP权限配置:确认包清单中除了RemoteSystem和专用网络权限,还启用了「Internet(客户端)」权限,部分局域网发现场景依赖该权限。
内容的提问来源于stack exchange,提问作者demonplus
相关产品推荐
相关产品推荐

