自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#導(dǎo)出dll函數(shù)

開發(fā) 后端
本文介紹C#導(dǎo)出dll函數(shù),在C++中我們能夠通過LoadLibrary,GetProcAddress 來動態(tài)調(diào)用 dll函數(shù),在C#導(dǎo)出也能夠用這樣的方式。

C#導(dǎo)出dll函數(shù)

在 C++ 中我們能夠通過 LoadLibrary, GetProcAddress 來動態(tài)調(diào)用 dll函數(shù)。

在C#導(dǎo)出也能夠用這樣的方式嗎?

在 DotNet 2.0 里面這樣是可以的, 這完全得益于 2.0新增的一個函數(shù)Marshal.GetDelegateForFunctionPointer 方法,此方法在 .NET Framework 2.0 版中是新增的。將非托管函數(shù)指針轉(zhuǎn)換為委托。

實例代碼如下:

  1. publicdelegateintMsgBox(inthwnd,stringmsg,stringcpp,intok);  
  2. [DllImport("Kernel32")]  
  3. publicstaticexternintGetProcAddress(inthandle,Stringfuncname);  
  4. [DllImport("Kernel32")]  
  5. publicstaticexternintLoadLibrary(Stringfuncname);  
  6. [DllImport("Kernel32")]  
  7. publicstaticexternintFreeLibrary(inthandle);  
  8. privatestaticDelegateGetAddress(intdllModule,stringfunctionname,Typet)  
  9. {  
  10. intaddr=GetProcAddress(dllModule,functionname);  
  11. if(addr==0)  
  12. returnnull;  
  13. else  
  14. returnMarshal.GetDelegateForFunctionPointer(newIntPtr(addr),t);  
  15. }  
  16. privatevoidbutton1_Click(objectsender,EventArgse)  
  17. {  
  18. inthuser32=0;  
  19. huser32=LoadLibrary("user32.dll");  
  20. MsgBoxmymsg=(MsgBox)GetAddress(huser32,"MessageBoxA",typeof(MsgBox));  
  21. mymsg(this.Handle.ToInt32(),txtmsg.Text,txttitle.Text,64);  
  22. FreeLibrary(huser32);  

以上介紹C#導(dǎo)出dll函數(shù)。

【編輯推薦】

  1. C#在應(yīng)用程序間發(fā)送消息實現(xiàn)淺析
  2. 一些C#時間類型的入門知識
  3. C#接口和抽象類技術(shù)特點淺析
  4. 一個C#時間計算的實例
  5. C#繼承知識詳解
責(zé)任編輯:佚名 來源: chinaitlab
相關(guān)推薦

2009-08-07 17:22:36

C#調(diào)用dll導(dǎo)出函數(shù)

2009-08-07 17:12:07

C# DLL函數(shù)

2009-08-05 09:30:39

C#調(diào)用DLL函數(shù)

2009-08-05 09:40:02

C#調(diào)用DLL函數(shù)

2009-07-31 17:28:35

C#語言調(diào)用DLL

2009-08-03 12:57:27

C#調(diào)用DLL

2009-08-18 16:31:19

Visual C#編寫

2009-08-05 09:09:14

C#調(diào)用VC DLL接

2009-08-10 13:05:06

C# DLLC# Delphi開發(fā)

2009-08-05 16:41:36

C#調(diào)用VC dll

2009-09-02 17:16:01

冒泡排序

2009-08-05 15:04:14

C# dll注入

2009-08-31 09:59:13

C# CreateEm

2009-08-31 10:14:49

C# CreateEm

2009-08-31 10:28:00

C# CreateEm

2009-08-05 09:22:43

C#調(diào)用VC DLL

2011-04-08 09:52:44

C++C#DLL

2009-08-05 16:49:42

C#中調(diào)用dll

2009-08-24 15:58:00

Visual C#生成

2009-07-31 14:26:38

JavaScript函C#函數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號