level 1
一个叫MyDll.dll的类库,代码如下:
#include "stdafx.h"
#define POUT extern "C" __dec
lsp
ec(dllexport)
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
POUT int add(int i1,int i2){
return i1 + i2;
}
POUT int sub(int i1,int i2){
return i1 - i2;
}
POUT void showText(char* c){
MessageBox(hwnd,TEXT("C"),TEXT("Hello"),0);
}
VB.NET调用方法,跟调用其他系统API一样:
Declare Function add Lib "MyDll.dll" Alias "add" (i1 As Integer, i2 As Integer) As Integer
Declare Function [sub] Lib "MyDll.dll" Alias "sub" (i1 As Integer, i2 As Integer) As Integer
Declare Function mysub Lib "MyDll.dll" Alias "sub" (i1 As Integer, i2 As Integer) As Integer
Declare Sub showText Lib "MyDll" (text As String)
可以看出来VB.NET对于API调用的声明,写法很自由
更多详情参考MSDN:
http://msdn.microsoft.com/zh-cn/library/172wfck9(v=vs.90).aspx
2014年02月23日 06点02分