Эндрю Кэш отвечает за неуправляемый код. Техника, которую он описывает для GetProcAddress , по сути, то, что делает RunDll32.exe . RunDll32.exe является частью Windows и специализируется на загрузке произвольных библиотек DLL и выполнении их кода. Вы можете запустить его так:
RUNDLL32.EXE [dllfile], [точка входа] [необязательные аргументы]
Когда вы сделаете это, RunDll32 вызовет LoadLibrary для DLL, а затем GetProcAddress для имени точки входа, которое вы ей дадите. Если все идет хорошо, то вызывается функция точки входа.
Для того, чтобы это действительно работало, функцию точки входа необходимо экспортировать. Он также должен быть объявлен так:
void CALLBACK MyEntryPoint(
HWND hwnd,
HINSTANCE hinst,
LPSTR lpszCmdLine,
int nCmdShow);