#include "stdafx.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
HMODULE handler_libca;
FARPROC adres;
if(argc<3)
{return 0; }
handler_libca=LoadLibraryW((LPCWSTR)argv[1]);
if(handler_libca==NULL)
{
printf("nie ma takiej dll'ki");
return 0;
}
adres=GetProcAddress(handler_libca,(LPCSTR)argv[2]);
if(adres==NULL)
{
printf("nie ma takiej procki");
return 0;
}
printf("Adres 0x%x",adres);
}
Srodowisko to VS Express 2005
Kod sie kompiluje lecz caly czas dostaje false na 3 if'e
,czyli
if(adres==NULL)
Dopiero kiedy ustawie na sztywno nazwe funkcji np.
adres=GetProcAddress(handler_libca,(LPCSTR)"Sleep");
aplikacja dziala poprawnie.
Problem jest chyba w kodowaniu zmiennej argv[2] UNICODE ,a powinno byc ASCII.