在资源头文件 resource.h 中定义里 bitmap1.bmp 的ID ,是否有办法通过该ID获取到该资源的完整路径
3条回答 默认 最新
- 五一编程 2023-03-28 08:00关注
唯一方法,只能是把资源文件释放到系统,比较好的方法是释放到系统的临时目录。下面是代码:CHAR pTempFileName[MAX_PATH];// 参数1:资源ID// 参数2:资源名称// 参数3:释放到临时目录的资源名称,也就是文件名BOOL ReleaseResourceToTempPath(int iResId, LPCWSTR lpType, LPCSTR lpFileName){DWORD dwSize;HGLOBAL hGlobal;LPVOID lpBuffer;HRSRC hRes = ::FindResourceW(NULL, MAKEINTRESOURCE(iResId), lpType);if (hRes){hGlobal = ::LoadResource(NULL, hRes);dwSize = ::SizeofResource(NULL, hRes);if (hGlobal && dwSize){lpBuffer = ::LockResource(hGlobal);if (lpBuffer){GetTempPathA(MAX_PATH, pTempFileName);strcat_s(pTempFileName, sizeof(pTempFileName), lpFileName);FILE* fp;fopen_s(&fp, pTempFileName, "wb");if (dwSize == fwrite(lpBuffer, sizeof(char), dwSize, fp)){fclose(fp);return TRUE;}else{fclose(fp);}}}}return FALSE;}调用格式:ReleaseResourceToTempPath(IDR_SKIN_DLL, L"SKIN", "skinpp.dll");ReleaseResourceToTempPath(IDR_SKIN_DOGMAX_SSK, L"SKIN", "dogmax.ssk");由于我工程采用的是UNICODE编码,所以如果你用ASCII的话,有些你地方你需要修改一下。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值