vc中將一個獨立的dll(exe),作爲資源加入資源文件中

具體怎麼加入、釋放資源這個就不必多說了吧

加入資源:Insert-Resource-Import
要求填入類型名稱,隨便填個即可,比如“EXEANDDLL”

釋放資源:

////////////////////////////////////////////
// 加載資源、生成文件
//定位我們的自定義資源,這裏因爲我們是從本模塊定位資源,所以將句柄簡單地置爲NULL即可
HRSRC hRsrc = FindResource(NULL, MAKEINTRESOURCE(IDR_XXXXXX), TEXT("EXEANDDLL"));//IDR_XXXXXX就是你剛纔導入的a.exe或b.dll的ID了
if (NULL == hRsrc)
return FALSE;
//獲取資源的大小
DWORD dwSize = SizeofResource(NULL, hRsrc);
if (0 == dwSize)
return FALSE;
//加載資源
HGLOBAL gl = LoadResource(NULL, hRsrc);
if (NULL == gl)
return FALSE;
//鎖定資源
LPVOID lp = LockResource(gl);
if (NULL == lp)
return FALSE;



CString filename="a.exe";//保存的臨時文件名       
// CREATE_ALWAYS爲不管文件存不存在都產生新文件。
HANDLE fp= CreateFile(filename ,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);

DWORD a;

//sizeofResource 得到資源文件的大小

if (!WriteFile (fp,lp,dwSize,&a,NULL))
return false;

CloseHandle (fp);//關閉句柄
FreeResource (gl);//釋放內存  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章