日期:2014-05-18 浏览次数:20876 次
在web 里这么写 这是以前写过的 也是网上找的,可以实现,lz在自己查查吧。 class DllDynamic:IDisposable//这个类是固定的 { [DllImport("Kernel32.dll")] public static extern int LoadLibrary(string lpFileName); [DllImport("Kernel32.dll")] public static extern bool FreeLibrary(int hModule); [DllImport("Kernel32.dll")] public static extern IntPtr GetProcAddress(int hModule, string lpProcName); #region IDisposable 成员 public void Dispose() { throw new NotImplementedException(); } #endregion } '''''' 调用 int hLib = DllDynamic.LoadLibrary(path);//应用dll的路径 IntPtr ptr = DllDynamic.GetProcAddress(hLib, "SS_Open_Tcp"); SS_Open_Tcp opentcp = (SS_Open_Tcp Marshal.GetDelegateForFunctionPointer(ptr, typeof(SS_Open_Tcp));//dll里的方法(SS_Open_Tcp) int numtcp = opentcp(sIP, port, delay);//打开连接(调用)
------解决方案--------------------
如果你要改变数组的值必须使用地址传递