//引導程式集(dll檔案位址),使用assembly類
assembly assembly = assembly.loadfile(path);
//獲取型別,引數(命名空間+類)
type type = assembly.gettype("operation.yunsuan");
//建立該物件的例項,object型別,引數(命名空間+類)
object instance = assembly.createinstance("operation.yunsuan");
//設定add方法中的引數型別,type型別;如有多個引數可以追加多個
type params_type = new type[2];
params_type[0] = type.gettype("system.int32");
params_type[1] = type.gettype("system.int32");
//設定add方法中的引數值;如有多個引數可以追加多個
object params_obj = new object[2];
params_obj[0] = 1;
params_obj[1] = 2;
//執行add方法
object value = type.getmethod("add", params_type).invoke(instance, params_obj);
···
執行時 DLL 裝載
呼叫loadlibrary 或者loadlibraryex 系統按照 dll搜尋順序找到 dll檔案,若成功就將 dll檔案對映到程序的位址空間中,並加引用。如果已經載入了,則只增加引用。注意,同名不同路徑系統不認為是乙個 dll。1 如果之前沒有呼叫過 loadlibrary ex 或者loadl...
C 解析DLL 反射
前段時間敲 需要動態的載入的外部dll,並且解析dll,來讀取dll中的類,屬性,有時候還需要讀取特性的值。這個問題剛開始遇到,是一點想法沒有,以前沒有這麼用過,後來查資料,請教別人,終於有了結果。當有了 之後,發現在找問題的過程中,我糊塗了,因為解決這個問題的方式主要是 反射。我是通過利用反射進行...
Windows程式設計 監視DLL裝載 解除安裝
windows 驅動開發庫裡面提供了乙個函式 ldrregisterdllnotification 可以讓你監視程序裝載 解除安裝dll 的事件。當你想在某個dll被載入的時候hook它的函式 或者當你想在某個dll推出之前做一些儲存清理工作 或者當你想阻止某個dll 被載入 比如外掛程式 這個機制...