Я все таки решил проблему статической линковки service.h, высказаную в предыдущей статье.
В этом заголовочнике есть следующий код:
#if defined(WINCEOEM) && defined(UNDER_CE)
#include «pservice.h»
#ifdef WINCEMACRO
#include «mservice.h»
#endif
#endif
Самое интересное то, что pservice.h и mservice.h находятся в … Microsoft Windows Embedded CE, а не в SDK.
Вставив в свою программу перед
#include «service.h»
следующий код:
#if (_WIN32_WCE < 0x500)
#define WINCEOEM
#define WINCEMACRO
#include «psyscall.h»
#endif
я получил статическую линковку или выкинул из кода LoadLibrary и GetProcAddress.
Резюме: Имея для платформы 4.х только SDK, статически связать services.exe не получится.