函式功能
函式功能:該函式增加,刪除,或替代某執行檔中的資源。
函式原型:BOOL UpdateResource(HANDLE hUpdate,LPCTSTR lPTyPe,LPCTSTR IPName,WORD wLanguage,LPVOID lgData,DWORD cbData);
參數說明
參數:
hUpdate:指定更新檔案句柄。此句柄由BeginUpdateResource函式返回。
lpType:指向說明將被更新的資源類型的字元串,它以NULL為終止符。這個參數可以是一個通過宏MAKENTRESOURCE傳遞的整數值,含義參見EnumResLangProc\lpType。
lpName:指向說明待被更新的資源名稱的字元串,它以NULL為終止符。這個參數可以是一個通過宏MAKEINTRESOURCE傳遞的整數值。
wLanguage:指定將被更新資源的語言標識。要了解基本的語言標識符以及由這些標識符組成的字語言標識符的列表,可參見宏MAKELANGID。
lpData:指向被插入執行檔的資源數據的指針。如果資源是預定義類型值之一,那么數據必須是有效且適當排列的。注意這是存儲在執行檔中原始的一進制數據,而不是由Loadlcon,LoadString或其他裝載特殊資源函式提供的數據。所有包含字元串、文本的數據必須是Unicode格式;IpData不能指向ANSI數據。
如果lpData為NULL,所指定的資源將從執行檔中被刪除。
cbData:指定lpData中的資源數據數據大小,以位元組計數。
返回值:如果函式運行成功,返回值為非零;如果函式運行失敗,返回值為零。若想獲得更多的錯誤信息,請調用GetLastError函式。
注意:應用程式重複使用UpdateResource去改變資源數據。每次UpdateResource調用都要占用系統內部的一個增加、刪除、替代的列表,而實際上並沒有將數據寫到執行檔中。應用程式必須通過使用EndUpdateResource函式將每次積累的變化寫入執行檔中。
速查:Windows NT 3.1以上,頭檔案:winbase.h;庫檔案:kerne132.lib;Unicode:在Windows NT上實現為Unicode和ANSI兩種版本。