请高手指点!!
现有一DLL文件,其中有一函数调用的一个参数是一个回调函数(Callback),形式如下:
int AFun(LONG nPort,void (CALLBACK* BFun)(long nPort,char * pBuf,long nSize));
用C#语言如何调用这个DLL库中的这个函数?
问题点数:50、回复次数:3Top
1 楼huleeyar(虚拟过客)回复于 2004-12-02 23:26:00 得分 0
我是高手,我不会Top
2 楼lucbesson(女娃哈哈)回复于 2004-12-02 23:40:35 得分 0
没看明白 我也是高手 hohoTop
3 楼k3world(雷锋)回复于 2004-12-02 23:46:04 得分 50
请看以下代码是否对你有帮助(来自MSDN)
-----------------------------------------------------------
[C#]
using System;
using System.Runtime.InteropServices;
public delegate bool CallBack(int hwnd, int lParam);
public class EnumReportApp {
[DllImport("user32")]
public static extern int EnumWindows(CallBack x, int y);
public static void Main()
{
CallBack myCallBack = new CallBack(EnumReportApp.Report);
EnumWindows(myCallBack, 0);
}
public static bool Report(int hwnd, int lParam) {
Console.Write("Window handle is ");
Console.WriteLine(hwnd);
return true;
}
}
Top




