释放资源到文件
有时候程序运行时须要调用某些DLL或者其余程序,而为了发布时方便将这些DLL或者EXE添加到了资源中一块儿编译。运行时再把这些资源释放到文件中便可。那如何释放资源到文件中呢?用下面这个函数:html
BOOL CXXXDlg::ReleaseResFile(CString strFileName, UINT wResID, CString strFileType) { // 资源大小 DWORD dwWrite=0; // 建立文件 HANDLE hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); if ( hFile == INVALID_HANDLE_VALUE ) { return false; } // 查找资源文件中、加载资源到内存、获得资源大小 HRSRC hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType); HGLOBAL hG = LoadResource(NULL, hrsc); DWORD dwSize = SizeofResource( NULL, hrsc); // 写入文件 WriteFile(hFile,hG,dwSize,&dwWrite,NULL); CloseHandle( hFile ); return true; }