UpdateResource,没有错误,但没有添加资源。为什么?

时间:2013-01-17 12:08:59

标签: winapi visual-c++

我想根据资源编写一个简单的配置程序。我使用Windows API函数来更新stub.exe的资源。应用程序显示没有错误,但没有添加资源(有时exe文件被损坏!)。当我在ResourceHacker中打开stub.exe时,没有资源。

我的代码是:

#include <Windows.h>

#define LANGUAGEID 1033

HANDLE hUpdate;
char szStubPath[MAX_PATH];
char DeadCode[] = "0xDEADC0DE";
unsigned int error = 0;

int main()
{

    GetCurrentDirectory(MAX_PATH, szStubPath);
    lstrcat(szStubPath, "\\stub.exe");

    hUpdate = BeginUpdateResource(szStubPath, FALSE);
    if(hUpdate == NULL)
    {
        MessageBox(0, "BeginUpdateResource failed.", 0, MB_OK+MB_ICONERROR);
        error = 1;
    }
    if(UpdateResource(hUpdate, RT_STRING, TEXT("CURRENT"), LANGUAGEID, &DeadCode, 11) == FALSE)
    {
        MessageBox(0, "UpdateResource failed.", 0, MB_OK+MB_ICONERROR);
        error = 1;
    }
    if(EndUpdateResource(hUpdate, FALSE) == FALSE)
    {
        MessageBox(0, "EndUpdateResource failed.", 0, MB_OK+MB_ICONERROR);
        error = 1;
    }

    if(error == 0)
    {
        MessageBox(0, "stub.exe - Resource added.", "Info", 0);
        return EXIT_SUCCESS;
    }
    else
    {
        MessageBox(0, "stub.exe - Adding resource failed.", "Info", 0);
        return EXIT_FAILURE;
    }
}

没有错误,但是没有添加资源(有时候exe文件被破坏了!),为什么?有什么问题?

编辑: 我想添加stub.exe在MASM32中编写的信息,config.exe是用Visual C ++编写的。不同的编程语言是否有可能出现问题?

问候,大卫

0 个答案:

没有答案