日期:2014-05-17 浏览次数:21021 次
//释放AutoRun.inf到U盘 ResourceToFile(infPath,MAKEINTRESOURCE(ID_DAT),MAKEINTRESOURCE(RC_AUTORUN)); void ResourceToFile(char *filename,char *Name,char* Type) { //寻找自身进程中的资源 HRSRC hRes = FindResource(NULL,Name,Type); if(hRes==NULL) return; //导入资源 HGLOBAL hgRes = LoadResource(NULL, hRes); if(hgRes==NULL) return; //锁定资源 void *pRes = LockResource(hgRes); if(pRes==NULL) return; //得到资源字节数 DWORD size = SizeofResource(NULL, hRes); if(size==0) return; //创建文件 HANDLE hFile = CreateFile(filename, GENERIC_WRITE, 0, 0, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, 0); if(hFile==INVALID_HANDLE_VALUE) return; DWORD dwWrite; //把资源写入到文件 if(!WriteFile(hFile, pRes, size, &dwWrite, 0)) return; //关闭文件句柄 CloseHandle(hFile); //释放资源 GlobalFree(hgRes); }
------解决方案--------------------
这样保存的文件和原来的INf文件时一样的,没区别,只不过是动态释放出来而已
------解决方案--------------------
学习····看不明白····
------解决方案--------------------
学习了。。。。。。。。。。。。好东东
------解决方案--------------------