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

通过<winreg.h>函数访问HKEY_CURRENT_USER下Network子项失败求助

解决HKCU\Network子项访问失败的问题

可能的原因及对应解决方法

  • 32/64位注册表重定向问题:64位系统中,32位程序访问HKCU\Network下的驱动器子项时,会因注册表重定向机制无法找到目标项。需在调用时添加对应位数的访问标志:
    如果是32位程序访问64位注册表项,修改代码为:
    RegOpenKeyExA(HKEY_CURRENT_USER, "Network\\X", 0, KEY_READ | KEY_WOW64_64KEY, &key);
    
    如果是64位程序访问32位注册表项,使用KEY_WOW64_32KEY标志替代。
  • 网络驱动器未在当前会话挂载:即使注册表存在子项,若对应网络驱动器未在当前用户会话中实际挂载,系统会限制程序访问该子项。可先在资源管理器中打开目标驱动器(如X:),确保挂载后再测试程序。
  • 权限配置问题:检查HKCU\Network\X的注册表权限,确认当前用户拥有读取权限。若权限不足,可手动添加读取权限后重试。
  • 替代方案:直接调用系统API获取路径:绕开注册表访问,使用WNetGetConnection函数直接获取网络驱动器的UNC路径,示例代码:
    char uncPath[MAX_PATH];
    DWORD bufferSize = MAX_PATH;
    if (WNetGetConnectionA("X:", uncPath, &bufferSize) == NO_ERROR) {
        // 成功获取UNC路径,可直接使用uncPath变量
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:40:18