PDA

Просмотр полной версии : проблема с GetProcAddress


fire64
26.10.2008, 20:51
почему не компилится код ?
я хочу вызвать функцию в dll файле


#include <stdio.h>
#include <windows.h>
int main( int argc, char* argv[] )
{
HMODULE steamDLL;
steamDLL = LoadLibrary("steam.dll");
if ( !steamDLL)
{
MessageBox( 0, "Steam.DLL Not Found", "Launcher Error", MB_OK );
}
FARPROC SteamLogin = GetProcAddress(steamDLL, "SteamLogin");
const char* User = "user";
const char* Password = "12345";
int isSecureComputer = 0;
SteamLogin( User, Password, isSecureComputer, NULL);
return 0;
}


в результате я получаю ошибку
error C2197: 'int (__stdcall *)(void)' : too many actual parameters

bons
26.10.2008, 21:41
ты неправильно описал функцию SteamLogin
если она у тебя вызывается как C-функция(cdecl) то ее надо описать примерно так

typedef void (*DLLPROC)(char* user, char* pass, int isSecure, void* hz);
...
DLLPROC SteamLogin = GetProcAddress(steamDLL, "SteamLogin");