win32 3步打包和釋放資源

2021-08-03 12:51:18 字數 1266 閱讀 2475

1.在rc檔案裡新增

idr_exe1                exe                     "..\\res\\a.exe"

idr_zip2                zip                     "..\\res\\b.zip"

2.在resource.h標頭檔案裡新增定義

#define idr_exe1                        104

#define idr_zip2                        105

1+2後,程式編譯時a.exe和b.zip就在生成的exe程式裡了,下面是釋放操作

3.釋放資源

void main()

/*函式功能:釋放資源檔案

引數說明:dword dwresname   指定要釋放的資源id號,如idr_exe

lpcstr lprestype 指定釋放的資源的資源型別

lpcstr lpfilepathname 指定釋放後的目標檔名

返回值:成功則返回true,失敗返回false

*/

bool cres::freeresfile(unsigned long dwresname, char* lprestype, char* lpfilepathname)

dword dwressize = ::sizeofresource(hinstance, hresid);//得到待釋放資源檔案大小

remove(lpfilepathname); //清理已存在的檔案 ---保證createfile的成功率

handle hresfile = createfile(lpfilepathname, generic_write, 0, null, create_always, file_attribute_normal, null);//建立檔案

if (invalid_handle_value == hresfile)

dword dwwritten = 0;//寫入檔案的大小

writefile(hresfile, pres, dwressize, &dwwritten, null);//寫入檔案

closehandle(hresfile);//關閉檔案控制代碼

return (dwressize == dwwritten);//若寫入大小等於檔案大小,返回成功,否則失敗

}

自此操作完成。。。

Win32 3 執行緒控制 事件 訊號量

handle createevent lpsecurity attributes lpeventattributes,安全屬性 null時為系統預設 bool bmanualreset,true 通過呼叫resetevent將事件物件標記為未通知 bool binitialstate,true 已通...

Android Ziplign打包最後一步

在android中,當資源檔案通過記憶體對映對齊到4位元組邊界時,訪問資源檔案的 才是有效率的。但是,如果資源本身沒有進行對齊處理 未使用zipalign工具 它就必須回到老路上,顯式地讀取它們 這個過程將會比較緩慢且會花費額外的記憶體。遺憾的是,對於使用者來說,這個情況恰恰是相反的 從未對齊的ap...

win7下QT5程式打包

pc端應用軟體程式的打包部署 本人親測,debug模式下的,對dll依賴多一點,但是沒有obj檔案,體積很大,乙個程式要100多兆,release模式下的打包會小很多,大概30多兆乙個程式,網上有另外一種方法可以減少體積,就是那個占用20兆的動態庫可以某種方式去掉.通常編譯生成 exe 應用程式不能...