[DllImport("CreateNewProcess.dll",CharSet=CharSet.Unicode)]
public static extern bool _CreateProcess([MarshalAs(UnmanagedType.LPWStr)]string FullPath);
以上是定义入口,直接调用即可
string str;调用 _CreateProcess(str);
还有,如果是用自定义的数据类型,那可用Marshal.StructToPtr()在非托管地区申请一段内存,再把个针指传进去
如:mystruct ms = new mystruct();
nt bufferSize = Marshal.SizeOf(ms);
IntPtr buffPtr = Marshal.AllocHGlobal(bufferSize);
Marshal.StructureToPtr(buffer, buffPtr, true);
非托管调用 callXX(buffPtr) 结构可以,当然其它也是可以的