Witam. Czy za pomoca kodu w C# można uruchomic jakiś plik .exe, jeżeli tak to jakim poleceniem, komendą? pozdrawiam
0
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
chyba musisz użyć http://msdn.microsoft.com/en-us/library/ms885182.aspx
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.