很多時候,我們可能要將某些檔案打包到資源中,然後當程式執行的時候,發現缺少某些檔案時,進行自我修復,以維持程式的正常執行,
很多安裝程式或者比較高階點的智慧型程式都已經這樣做,比如檔案損壞時,安裝程式將修復這些檔案.一些高階程式的常用設定及檔案
遇到破壞時,也會自我修復,它們的這些神奇功能,全都是依靠自身的資源包,替換損壞的檔案,或者建立新的預設檔案實現的.
下面我來說一說這種程式比較普通的一些做法:
那麼我們將自身資源包的正常檔案釋放出來,在這裡我給出兩個函式,乙個是檢查指定檔案是否存在,另乙個是釋放資源包檔案的函式.
bool fileexteriorfile(lpctstr filename)//查詢指定的檔案是否存在
findclose(hd);//關閉查詢
return true;
} 發現不存在時,將呼叫下面的函式釋放資源包的檔案
//將指定資源釋放到指定目錄下生成特定檔案
bool freemydata(lpctstr resname, lpctstr restype, lpctstr filename, int type)
else
if(hfile == invalid_handle_value)//建立檔案失敗
//釋放有關記憶體資源
closehandle(hfile);
freeresource(hresdata);
return true;
} 那麼你在initinstance()中的呼叫形式如下:
if(!fileexteriorfile(filename))//注意:filename是你指定目錄下的指定檔案
這樣你就已實現了將資源包釋放出來替換或者覆蓋某些檔案的目的,你可以釋放的檔案型別可以是exe檔案,dll檔案等等.
在編寫該程式的過程當中,我還加入了很多特殊的功能,比如釋放出乙個新的exe檔案,然後執行,再把自身銷毀,這個時候防毒程式警告我,這是乙個病毒,
哈哈,可能病毒就是這樣的搞的.那麼你還等什麼,趕快試試吧.
gulp實現靜態資源壓縮,打包,上傳總結
本文只是對gulp構建工具的一些常用功能的總結。1.實現檔案 css,js,image 壓縮 2.實現檔案合併 3.版本控制 4.上傳七牛cdn 引用外掛程式如下 var gulp require gulp eslint require gulp eslint minify require gulp...
VC 製作系統托盤程式實現將視窗最小化到系統托盤
vc 製作系統托盤程式實現將視窗最小化到系統托盤 2008年01月11日 星期五 10 24 前段時間因為要用到系統拖盤,所以研究了一下,在這裡記錄一下,免得以後忘了 先在類中定義乙個結構變數notifyicondata pnid 然後在oninitdialog進行初始化 pnid.cbsize d...
使用VC建立網路連線並訪問網路資源
目錄在windows下可以通過系統操作,將區域網的資源對映到本地,從而實現像本地資料一樣訪問網路資源。實際上這些步驟也可通過 呼叫win32函式實現,前提是你得知道目標機器的位址以及金鑰。直接上vc的例項 include include include pragma comment lib,mpr....