VB 列舉 PE 檔案裡面的資源

2021-04-19 07:13:23 字數 961 閱讀 6670

今天繼續研究了關於資源操作的api函式,研究的是列舉檔案資源的三個api:enumresourcenames 、enumresourcetypes和enumresourcelanguages。這幾個函式都非常的相似,作用分別是列舉資源的名稱、型別和語言。

第二個引數是要列舉的資源的型別標識,可以是rt_開頭的api常數,廢話多說乙個,rt=resource type。。。。

第三個引數是**函式的指標,可以用「addressof 函式名」獲取,函式格式上面有要求,必須要是下面這樣的格式:

function enumnamesfunc(byval hmodule as long, byval lptype as long, byval lpname as long, byval lparam as long) as boolean

第一二個引數不用說了,和enumresourcenames傳入的值一樣,第三個引數可以是乙個表示資源名稱的指向字串的指標,也可以是表示乙個資源id的數值,可以這樣來判斷型別(api-guide裡面給出的例子):

dim resname as string, lenofrn as long

if (lpname > &hffff&) or (lpname < 0) then '為字串指標

lenofrn = lstrlen(lpname): resname = space$(lenofrn)

copymemory byval resname, byval lpname, lenofrn

else '型別為數值

end if

另外也可以用乙個以「#」開頭的字串來代替數值id,比如「#234」就代表數值id為234的資源。

最後乙個引數lparam是使用者自己定義的附加資訊,就是enumresourcenames傳入的最後乙個引數了,我一般都傳個hupdate進去的,以便更新資源。

其他的兩個api都是大同小異的,就不多廢話了,大家看看原始碼的示例吧~~~~謝謝收看~~~~~

列舉裡面的介面的實現

列舉式乙個類,這個類,同樣也有類改由的功能,今天來說說列舉來實現介面。下面還是來看看 吧.首先我們定義乙個介面 介面裡面由兩個抽象方法.如下.public inte ce enuminte ce下滿我們來定義我們的列舉型別的類,分別由三個物件,分別有自己的構造方法.如下.public enum de...

PE檔案之資源講解

資源是pe檔案中非常重要的部分,幾乎所有的pe檔案中都包含資源,與匯入表與匯出表相比,資源的組織方式要複雜得多,要了解資源的話,重點在於了解資源整體上的組織結構。我們知道,pe檔案資源中的內容包括 游標 圖示 位圖 選單等十幾種標準的型別,除此之外,還可以使用自定義的型別,每種型別的資源中,可能存在...

PE檔案詳解九 資源結構體

windows 將程式的各種介面定義為資源,包括加速鍵 accelerator 位圖 bitmap 游標 cursor 對話方塊 dialog box 圖示 icon 選單 menu 串表 string table 工具欄 和版本資訊 version information 等。資源有很多種型別,每...