使用http://forum.xda-developers.com/showthread.php?t=1944675中描述的方法,我使用 Windows RT 在我的表面上执行了一个 win32 桌面应用程序。
可以使用LoadLibrary加载诸如user32.dll、kernel32.dll、gdi32.dll等windows dll 。但是当我尝试使用LoadLibrary加载“comctl32.dll”或“comdlg32.dll”时,它返回NULL。
GetLastError()返回的错误代码是1114。这意味着“动态链接库 (DLL) 初始化例程失败。”
编辑:当我测试为 x86 编译的应用程序时,它可以正常工作。当我为 ARM 构建它并在 Windows RT 下运行时,发生了这个错误。
示例代码:
HMODULE hModule;
hModule = LoadLibraryA("user32.dll");
printf("Load Library user32.dll : %x with Err: %x\n", hModule, GetLastError());
hModule = LoadLibraryA("kernel32.dll");
printf("Load Library kernel32.dll : %x with Err: %x\n", hModule, GetLastError());
hModule = LoadLibraryA("comctl32.dll");
printf("Load Library comctl32.dll : %x with Err: %x\n", hModule, GetLastError());