【这个问题可难倒我了,帮帮我吧】如何动态调用一个DLL文件。
如题,.NET CF 2.0环境,运行于Windows Mobile中。
我有一个自己编写的Win32 DLL 我现在想注册它(其实就是调用它的导出函数DllRegisterServer)
DLL和EXE程序在同一目录下,并且必须在同一目录下,我不想把它放到系统目录(\Windows)下。
我试过用
[DllImport("CallbackAssistant.dll")]
private static extern int DllRegisterServer();
如果在.NET FW中DllImport会首先在当前EXE所有目录查找指定的DLL,然后再是系统目录,最后是环境变量的目录。
可是在.NET CF中只支持在系统目录中查找。
因为找不到DLL文件,于是这种方法我就失败了。。
然后我又想到用LoadLibrary/GetProcAddress来调用DLL
LoadLibrary加载-->GetProcAddress成功返回函数指针。
可是到了要调用的时候,一般我们不都是常用Marshal.GetDelegateForFunctionPointer将函数指针转换成委托再调用吗,
可是TMD的.NET CF这个函数也不支持,我一下就郁闷了,想注册这个DLL,我真是没有办法 。
特此来求助大家!!!