在C#中如何获取dll的句柄并调用dll中的方法
现在我有一个别人提供的C++开发的dll,dll中是一个类,类里面才有我需要调用的方法.请问应该怎么样获取dll的句柄呢?怎么获取方法的地址呢,获取到之后,我怎么调用那个...
现在我有一个别人提供的C++开发的dll,dll中是一个类,类里面才有我需要调用的方法.请问应该怎么样获取dll的句柄呢?怎么获取方法的地址呢,获取到之后,我怎么调用那个方法?本人是新手,希望高人指点一下,谢谢!
网上复制的不用了,我看了不少,没懂
我一开始就是这么做的,但不行
无法在DLL"HKPlugIn.dll"中找到名为"connectDVR"的入口.
那些方法是封装在类里面的?是不是要先获取句柄啊 展开
网上复制的不用了,我看了不少,没懂
我一开始就是这么做的,但不行
无法在DLL"HKPlugIn.dll"中找到名为"connectDVR"的入口.
那些方法是封装在类里面的?是不是要先获取句柄啊 展开
1个回答
展开全部
无法在DLL"HKPlugIn.dll"中找到名为"connectDVR"的入口
说明你的这个dll里没有connectDVR这个公共方法
你检查一下是不是大小写错了?或者不能被外部访问?
首先要DllImport,例如:
[DllImport(@"E:\DLL\abc.dll", EntryPoint = "调用方法名")]
protected static extern 方法返回类型 调用方法名(参数列表);
然后就可以在你的代码里使用这个方法了
比如:
[DllImport(@"E:\DLL\ExGif.dll", EntryPoint = "CheckGif")]
protected static extern bool CheckGif(string filename);
调用:
if(CheckGif("c:\\a.gif")){
}
说明你的这个dll里没有connectDVR这个公共方法
你检查一下是不是大小写错了?或者不能被外部访问?
首先要DllImport,例如:
[DllImport(@"E:\DLL\abc.dll", EntryPoint = "调用方法名")]
protected static extern 方法返回类型 调用方法名(参数列表);
然后就可以在你的代码里使用这个方法了
比如:
[DllImport(@"E:\DLL\ExGif.dll", EntryPoint = "CheckGif")]
protected static extern bool CheckGif(string filename);
调用:
if(CheckGif("c:\\a.gif")){
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询