110,533
社区成员
发帖
与我相关
我的任务
分享
public class CustomDLLInvoke
{
[DllImport("kernel32.dll")]
public extern static IntPtr LoadLibrary(string path);
[DllImport("kernel32.dll")]
public extern static IntPtr GetProcAddress(IntPtr lib, String funcName);
[DllImport("Kernel32.dll")]
public extern static bool FreeLibrary(IntPtr lib);
public IntPtr MLib;
public CustomDLLInvoke(string dllPath)
{ MLib = LoadLibrary(dllPath); }
public CustomDLLInvoke(){FreeLibrary(MLib);}
public Delegate Invoke(string APIName,Type t)
{ IntPtr api = GetProcAddress(MLib, APIName); return (Delegate)Marshal.GetDelegateForFunctionPointer(api, t); }
}
IntPtr inp = CustomDLLInvoke.LoadLibrary(@"C:\Users\Desktop\杨的文档\7150_pre\SoundDesignerSDK\bin\SDCOM.dll");
var runtype = Type.GetTypeHandle(inp);
Type testtype = Type.GetTypeFromHandle(runtype);
var guid=testtype.GUID.ToString();