uruchomienie pliku .exe

0

Witam. Czy za pomoca kodu w C# można uruchomic jakiś plik .exe, jeżeli tak to jakim poleceniem, komendą? pozdrawiam

0

System.Diagnostics.Process.Start().

0

Odświeżę

A jak inaczej się da? (Na Windows CE to mi nie działa, na Windows XP tak)

Process process = new Process();
process.StartInfo.FileName = "program.exe";
process.Start();
0

Tylko pojawia się problem w tej lini:

[DllImport("kernel32.dll")]

Ponieważ mój windows CE nie zawiera kernel32.

Kod CreateProcess z tej strony - http://blogs.msdn.com/b/thottams/archive/2006/08/11/696013.aspx

0

Problem po części rozwiązny:

StartApplication("\\a\\Program.exe", "");

Problem jest w tym, że nie wiem jak zmienić ścieżkę na kartę pamięci.

Kod dalszy(działa tylko na Windows CE):

  private void StartApplication(string executable, string arguments)
        {

            ProcessInfo pi = new ProcessInfo();



            CreateProcess(executable, arguments, IntPtr.Zero, IntPtr.Zero,

                 0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, pi);

            CloseHandle(pi.hProcess);

        }



        private sealed class ProcessInfo
        {

            public IntPtr hProcess = IntPtr.Zero;

            public IntPtr hThread = IntPtr.Zero;

            public int dwProcessID = 0;

            public int dwThreadID = 0;

        }



        [DllImport("coredll.dll", SetLastError = true)]

        private static extern bool CreateProcess(string lpApplicationName,

             string lpCommandLine, IntPtr lpProcessAttributes,

             IntPtr lpThreadAttributes, int bInheritHandles,

             int dwCreationFlags, IntPtr lpEnvironment,

             IntPtr lpCurrentDirectory, IntPtr lpStartupInfo, ProcessInfo pi);



        [DllImport("coredll.dll", SetLastError = true)]

        private static extern int CloseHandle(IntPtr h);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.