我正在使用 VisualStudio2017 开发适用于 Windows 7 的应用程序。该应用程序想要有从 DLL 加载的特殊游标。首先我创建了一个 DLL 并添加了以下 .rc 文件:
BM_CURSOR_GRAB CURSOR "./grab.cur"
BM_CURSOR_GRABBING CURSOR "./grabbing.cur"
Run Code Online (Sandbox Code Playgroud)
BM_CURSOR_GRAB 和 BM_CURSOR_GRABBING 在头文件中定义为:
#define BM_CURSOR_GRAB 100
#define BM_CURSOR_GRABBING 101
Run Code Online (Sandbox Code Playgroud)
我编译了 DLL - 它可以工作并使用ResourceEditor.exe我的资源进行检查:
现在“非工作”部分开始。我的应用程序想要加载光标,但FindResource找不到它。这是我的代码:
HMODULE dll = LoadLibrary("BenjaMiniRessources.dll");
HRSRC hRes = FindResource(dll, MAKEINTRESOURCE(100), RT_CURSOR);
DWORD dwSize = SizeofResource(dll,hRes);
HGLOBAL hMem = LoadResource(dll, hRes);
LPBYTE pBytes = (LPBYTE)LockResource(hMem);
Cursor = CreateIconFromResource(pBytes, dwSize, false, 0x00030000);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?