读取一资源 ID为 IDR_WAV.
调用 FindResource() 是出问题...C/C++ code LPSTR szResourceType = "BIN_DATA"; // 资源的类型 HRSRC hRes = FindResource(NULL, MAKEINTRESOURCE(nIDResource),szResourceType); // 查找资源句柄 //HRSRC hRes = FindResource(hInstance, MAKEINTRESOURCE(nIDResource),szResourceType); // 查找资源句柄
编译器是不报错的
但是hRes在调试时提示
unused:CX0030:ERROR : expression cannot be evaluated
FindResource()的第一个参数要怎么设置?原型
HRSRC FindResource(
HMODULE hModule,
LPCTSTR lpName,
LPCTSTR lpType
);另外,我的资源是一个导入的 .wav音频, ResourceType 是那样设置的吗 "BIN_DATA" ??发现CSDN上有不少人在问FindResource(),看了半了也没有看出什么来。。
有人做过或者懂的话,还望指点??
调用 FindResource() 是出问题...C/C++ code LPSTR szResourceType = "BIN_DATA"; // 资源的类型 HRSRC hRes = FindResource(NULL, MAKEINTRESOURCE(nIDResource),szResourceType); // 查找资源句柄 //HRSRC hRes = FindResource(hInstance, MAKEINTRESOURCE(nIDResource),szResourceType); // 查找资源句柄
编译器是不报错的
但是hRes在调试时提示
unused:CX0030:ERROR : expression cannot be evaluated
FindResource()的第一个参数要怎么设置?原型
HRSRC FindResource(
HMODULE hModule,
LPCTSTR lpName,
LPCTSTR lpType
);另外,我的资源是一个导入的 .wav音频, ResourceType 是那样设置的吗 "BIN_DATA" ??发现CSDN上有不少人在问FindResource(),看了半了也没有看出什么来。。
有人做过或者懂的话,还望指点??
DWORD dwWritten = 0;
HRSRC hServiceExecutableRes = NULL;
HMODULE hInstance = ::GetModuleHandle(NULL);// Find the binary file in resources
#ifdef _DEBUG
hServiceExecutableRes = ::FindResource(
hInstance,
MAKEINTRESOURCE(IDR_DEBUG_DLL),
_T("DEBUG_DLL")
);
#else
hServiceExecutableRes = ::FindResource(
hInstance,
MAKEINTRESOURCE(IDR_RELEASE_DLL),
_T("RELEASE_DLL")
);
#endif
HGLOBAL hServiceExecutable = ::LoadResource(
hInstance,
hServiceExecutableRes
);
LPVOID pServiceExecutable = ::LockResource(hServiceExecutable);
这个我有看过了,
也试了他的方法,结果不行 还是返回NUll而且 hRes在调试时总是 unused ...十分困惑 ./还有这个FindResource()的第一个参数的使用一说是的 NULL 一说是 hInstance =GetModuleHandle()这两个有什么区别吗??
那第三个参数的 选取有什么要求吗 ??还是说 我给 SourceName 随便初始化一个字符串 ,都是可以的?是不是lpType 随着我导入的资源的不同(比如光标、比如图片、比如对话框...)而不同???