在C 中,想呼叫其他開發環境的DLL內的函式

2021-04-18 02:57:27 字數 1807 閱讀 3678

在c#中

,想呼叫其他開發環境的

dll內的函式

方法一:(以

excel

為例,呼叫

com物件

)  

第一步:

在專案的引用節點單擊右鍵,在彈出的選單中單擊新增引用

...  

在彈出的對話方塊中單擊

com項,找到

microsoft   excel   11.0   object   library  

並單擊選中,然後單擊選擇按鈕。

第二步:

引用excel2003

後,會在引用節點中增加

excel

等節點,也就是把

com生成了

.net

能理解的程式集。

進入專案的

bin/debug

目錄可以看到,相應的增加了

interop.excel.dll

等庫檔案,它們都是

.net

將com  

型別庫中的

型別定義轉換為

.net

公共語言執行庫程式集中的等效定義生成的檔案。

方法二:

以上是視覺化自動生成

com對應的程式集,也可以用如下的方法生成。

開啟visual   studio   .net2003

命令提示,執行

tlbimp  

你的原來

dll  

命乙個新的名字

.dll

然後在工程的引用節點添對

「命乙個新的名字

.dll」

的引用,就可以使用了。

還有一種引用

api函式(

using

system.runtime.interopservices)

[dllimport("kernel32")]

private

static

extern

long writeprivateprofilestring(string section, string key, string val, string filepath);

[dllimport("kernel32")]

private

static

extern

int getprivateprofilestring(string section, string key, string def, stringbuilder retval, int size, string filepath); 例:

stringbuilder

temp = new

stringbuilder(200);

string

filename = "c://desck.ini";//ni

檔案的完整的路徑和名稱。

string section = txtregedit.text;//ini

檔案中的段落

string key = txtuser.text;//ini

檔案中的關鍵字

string keyvalue = txtpwd.text;//ini

檔案中的關鍵字

int i = getprivateprofilestring(section, key, "

無法讀取對應數值!"

, temp, 200, filename);//

判斷是否註冊過

if (temp.tostring() == "

無法讀取對應數值!")

else

在VB應用程式中呼叫VC環境下開發的DLL

1.呼叫dll的優越性 動態鏈結庫 dll 作為windows作業系統的基礎,具有優越的應用效能 dll擴充套件了應用程式的特性。由於dll能夠動態地裝入程序的位址空間,因此應用程式能夠在執行時確定需要執行什麼操作,然後裝入相應的 以便根據需要執行這些操作。dll可以用多種語言進行編寫。例如用vb來...

在VB應用程式中呼叫VC環境下開發的DLL

1.呼叫dll的優越性 動態鏈結庫 dll 作為windows作業系統的基礎,具有優越的應用效能 dll擴充套件了應用程式的特性。由於dll能夠動態地裝入程序的位址空間,因此應用程式能夠在執行時確定需要執行什麼操作,然後裝入相應的 以便根據需要執行這些操作。dll可以用多種語言進行編寫。例如用vb來...

在VB應用程式中呼叫VC環境下開發的DLL

在vb應用程式中呼叫vc環境下開發的dll 1.呼叫dll的優越性 動態鏈結庫 dll 作為windows作業系統的基礎,具有優越的應用效能 dll擴充套件了應用程式的特性。由於dll能夠動態地裝入程序的位址空間,因此應用程式能夠在執行時確定需要執行什麼操作,然後裝入相應的 以便根據需要執行這些操作...