你能告诉我这个有什么问题以及如何解决吗?

时间:2016-04-04 11:31:30

标签: c++ data-conversion

我有这个代码,我一直试图让它工作几个小时

DWORD GetModuleNamePointer(LPSTR LPSTRModuleName, DWORD __DwordProcessId)
{ 
    MODULEENTRY32 lpModuleEntry = {0};
    HANDLE hSnapShot = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, __DwordProcessId);
    if(!hSnapShot)
        return NULL;  
    lpModuleEntry.dwSize = sizeof(lpModuleEntry);
    BOOL __RunModule = Module32First( hSnapShot, &lpModuleEntry );
    while(__RunModule)
    {
        if(!strcmp(lpModuleEntry.szModule, LPSTRModuleName ) )
        {
            CloseHandle( hSnapShot );
            return (DWORD)lpModuleEntry.modBaseAddr;
        }
        __RunModule = Module32Next( hSnapShot, &lpModuleEntry );
    }
    CloseHandle( hSnapShot );
    return NULL;
}

当我尝试从这一行编译时出现错误。

  

return(DWORD)lpModuleEntry.modBaseAddr;

这就是错误。

[Error] invalid conversion from 'BYTE* {aka unsigned char*}' to 'DWORD {aka long unsigned int}' [-fpermissive]

我该怎么做才能解决这个问题?老实说,我没有任何线索。

0 个答案:

没有答案