首页 > 解决方案 > 如何在使用时更新 exe RCData?

问题描述

我可以RCData成功更新特定 exe 的,但是当它运行时它不会替换任何东西:

  HANDLE hRes = BeginUpdateResource(exePath, FALSE);
    if (hRes != NULL) {
    
        UpdateResourceW(hRes,
            RT_RCDATA,
            L"...", //MAKEINTRESOURCE( 1 ),
            1033, //MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ),
            &str_data[0],
            str_data.size() + 1);
    
        EndUpdateResource(hRes, FALSE);
        auto err = GetLastError();
    }

GetLastError返回0x5 ERROR_ACCESS_DENIED。我以管理员身份运行所有内容,我还缺少什么?

标签: c++winapi

解决方案


推荐阅读