[DllImport("rapi.dll", CharSet = CharSet.Unicode, SetLastError = true)]
internal extern static int CeCreateProcess(
string pszImageName,
string pszCmdLine,
IntPtr psaProcess,
IntPtr psaThread,
int fInheritHandles,
int fdwCreate,
IntPtr pvEnvironment,
IntPtr pszCurDir,
IntPtr psiStartInfo,
ref PROCESS_INFORMATION pi);
PROCESS_INFORMATION structure info at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcekernl/html/_ wcesdk_win32_PROCESS_INFORMATION_str.asp
[StructLayout(LayoutKind.Sequential)]
internal struct PROCESS_INFORMATION
{
public IntPtr hProcess;
public IntPtr hThread;
public int dwProcessID;
public int dwThreadID;
}
function info on msdn at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceactsy/html/cerefCeCreateProcessRAPI.asp
Please add some!
PROCESS_INFORMATION pi = new PROCESS_INFORMATION();
CeCreateProcess("myapp.exe", String.Empty, IntPtr.Zero, IntPtr.Zero, 0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, ref pi)
C# Example of the code you would use with openNETCF :
ProcessStartInfo psi = new ProcessStartInfo(@"\PathTo\programToRun.exe");
Process p = Process.Start(psi");
p.WaitForExit(); // if this is set, your code will continue after the program has excited.