乙個MFC釋放資源的類

2021-06-19 11:34:24 字數 1085 閱讀 4275

分享乙個釋放資源的類

bool c***dlg::releaseres(cstring strfilename, word wresid, cstring strfiletype)

// 查詢資源檔案中、載入資源到記憶體、得到資源大小

hrsrc hrsc = findresource(null, makeintresource(wresid), strfiletype);

hglobal hg = loadresource(null, hrsc);

dword dwsize = sizeofresource( null, hrsc);

if (!(hrsc&&hg&&dwsize))

// 寫入檔案

writefile(hfile,hg,dwsize,&dwwrite,null);

closehandle( hfile );

return true;

}

使用方法

releaseres("test.exe",(word)idr_bin1,"bin");
新增資源的方法:

首先插入資源,可以選擇bitmap,然後import選擇所有檔案,匯入exe或者其他資源

然後在彈出的對話方塊中輸入乙個字元轉,這個字串會在上面的函式中作為引數,這裡用bin

確定後在資源檔案中已經看到這個資源了

idr_bin1是資源號,在呼叫上面的函式

releaseres("test.exe",(word)idr_bin1,"bin");
就可以釋放到同目錄的test.exe了,當然也可以是絕對路徑。

關於類資源的釋放

關於類資源的釋放 我們自定義的類並不像窗體類那樣當窗體關閉時自動呼叫釋放函式 實際上是過載基類函式 如下 清理所有正在使用的資源。如果應釋放託管資源,為 true 否則為 false。protected override void dispose bool disposing base.dispos...

MFC建立乙個CDialogEx的基類

有了自動布局縮放的方法,那就建立乙個基類,所有視窗類都繼承此類 新增mfc類 名稱自定義 cbasedlg cbasedlg.h pragma once include afxcontrolbarutil.h include afxdialogimpl.h include layout contro...

在槽函式中釋放乙個類的空間

首先做乙個假設 我們要實現乙個程式,程式中有乙個mainwindow,mainwindow中有乙個dockwidget。在點dockwidget的關閉按鈕的時候,需要在mainwindow中進行一些處理,然後釋放dockwidget。何以實現?我想到的是 在dockwidget類中宣告乙個訊號,並把...