请教 C#调用MFC动态链接库的问题
最近写程序需要调用别人写的dll文件结果老是提示找不到dll文件
dll文件说明:
1. 宏定义初始化
typedef int(*lpinitvar)();
typedef double*(*lpfiltereddata)(double *src,int filterstype);;
typedef int(*lpparamscal)(double *vsrc,double *csrc,double & Volt_freq,double&Volt_RMS,double&Curren_freq,double&Current_RMS,double&thata);
2、初始化工作
int initvar();
在用其他函数前先调用这个函数,若成功返回1
3、函数 double * filtereddata(double *src,int filterstye=1);
filterstye=1 或 filterstye=2
src 为2500个点的double类型数组首地址
返回值double *
我在C#中用
1、[System.Runtime.InteropServices.DllImport("sigproc.dll")]
private static extern int initvar();
提示未处理 System.DllNotFoundException
Message="无法加载 DLL“sigproc.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。"
2、 [System.Runtime.InteropServices.DllImport("kernel32")]
private static extern IntPtr LoadLibrary(string lpLibFileName);
[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName);
[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern IntPtr FreeLibrary(IntPtr hLibModule);
///
IntPtr libHandle = IntPtr.Zero;
try
{
//获取函数地址
libHandle = LoadLibrary(fileName);
if (libHandle == IntPtr.Zero) return null;
IntPtr procAddres = GetProcAddress(libHandle, funName);
if (procAddres == IntPtr.Zero) return null;
LoadLibrary(fileName)的值为0
请求大虾帮助!