咨询:ProximityDevice无法识别Sony RC-S380 NFC读写器的解决方法
解决Sony RC-S380 NFC读写器被识别为ProximityDevice的方案
我之前折腾过Sony RC-S380这个设备,正好碰到过和你一样的问题——装完官方驱动只显示成NFC Port,ProximityDevice.GetDefault()一直返回null。后来查了不少资料加实操,终于搞定了,分享给你:
1. 先确保驱动是适配你系统的版本
别用通用驱动!去索尼官网下载对应你Windows版本(Win10/Win11)的RC-S380专用驱动,先卸载现有驱动,重启电脑后再装新驱动,装完再重启一次。有时候通用驱动只会把设备识别成普通的NFC端口,不会触发Proximity设备的逻辑。
2. 修改注册表让Windows把它识别为Proximity设备
Windows的Proximity API只认特定硬件ID的设备,RC-S380默认不在这个列表里,得手动加:
- 打开设备管理器,找到「NFC Port」右键→属性→详细信息,下拉菜单选「硬件ID」,复制里面的ID(格式大概是
USB\VID_054C&PID_XXXX)。 - 运行
regedit打开注册表编辑器,导航到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WUDF\Services\NfcProximity\Parameters - 在右侧右键新建字符串值,命名为
DeviceMatch,值填你刚才复制的硬件ID(多个ID用分号分隔)。 - 如果你是64位系统,还要去
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\WUDF\Services\NfcProximity\Parameters下做同样的操作。 - 重启电脑,再看设备管理器,应该就变成「Proximity Device」了。
3. 检查Windows Proximity服务是否正常运行
有时候服务没启动也会掉链子:
- Win+R输入
services.msc打开服务管理器,找到Windows Proximity Provider服务,把启动类型改成「自动」,确保服务是「正在运行」状态,没运行就右键启动。
4. 写个小代码验证一下
改完后可以用这段简单的C#代码测试:
using Windows.Networking.Proximity; using System; class Program { static void Main() { var proximityDevice = ProximityDevice.GetDefault(); if (proximityDevice != null) { Console.WriteLine($"成功识别到Proximity设备:{proximityDevice.DeviceId}"); } else { Console.WriteLine("还是没识别到设备,检查前面的步骤有没有漏"); } } }
运行后如果输出设备ID,就说明搞定了!
注意:修改注册表前一定要备份,别瞎改其他项,不然容易出问题。
内容的提问来源于stack exchange,提问作者unmuse
相关产品推荐
相关产品推荐

