Witam.
Mam pytanko. Jak w C# odpalić inną aplikację ?
Przykładowo chciałbym poprzez kliknięcia odpalić zupełnie inny program.
Witam.
Mam pytanko. Jak w C# odpalić inną aplikację ?
Przykładowo chciałbym poprzez kliknięcia odpalić zupełnie inny program.
string filePath = @"C:\JakisProgram.exe";
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.WorkingDirectory = Path.GetDirectoryName(filePath);
p.StartInfo.FileName = Path.GetFileName(filePath);
try
{
p.Start();
}
catch (Exception e)
{
MessageBox.Show(e.Message,"error",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
dzięki za pomoc... ale jeszcze jedno pytanko. Walczyłem dzisiaj z tym kodem, żeby odpalić jakąś aplikację i to mi działa. Problem pojawia się kiedy w ścieżce muszę podać dłuższy ciąg. A dodatkowo aplikacja jest w program files więc teoretycznie powinienem użyć cudzysłowów i żeby działało muszę odpalić to z konsoli powiedzmy tak:
"C:\Program Files\cos.exe" "C:\Program files\cosinnego.xxx"
lub też
C:\Program Files\cos.exe C:\Program files\cosinnego.xxx
niestety o ile z lini komend działa bez cudzysłowów o tyle w aplikacji trzeba ich już użyć.
Próbowałem tak:
p.StartInfo.WorkingDirectory = @"C:\Program Files\cos.exe C:\Program files\cosinnego.xxx";
p.StartInfo.FileName = @"C:\Program Files\cos.exe C:\Program files\cosinnego.xxx";
ale wtedy nie widzi tego pliku...
próbowałem też z cudzysłowami, ale ostatecznie się zamieszałem i mi się nie udało :/
Sprobuj np.
@"C:\Program Files\cos.exe "C:\Program files\cosinnego.xxx""
pozdrawiam
johny
Przed \ podstaw \ czyli np. "c:\Program Files\..."
Nie baldzo, bo przeciez jest @ przed stringiem...
pozdrawiam
johny
Heh a ja nadal się męczę z tym samym... próbowałem tak jak proponowaliście ale nadal nic.
Spróbowałem więc tak:
p.StartInfo.WorkingDirectory = @"\C:\Program Files\Folder\Aplikacja";
p.StartInfo.FileName = "start.exe mapa.jpg";
uruchamia się aplikacja, ale jak uruchamiam zdarzenie to dostaję komunikat:
"The system cannont find the file specified"
próbowałem jeszcze tak:
p.StartInfo.FileName = @"/"ustation.exe/" /"tur2006.dbf/"";
ale wywala błąd i nie kompiluje się...
Yyy, a czemu \C i czemu /" ?
pozdrawiam
johny
sorka źle przepisałem ;)
oczywiście próbowałem tak:
p.StartInfo.WorkingDirectory = @"C:\Program Files\Folder\Aplikacja";
p.StartInfo.FileName = "start.exe mapa.jpg";
próbowałem jeszcze tak:
p.StartInfo.FileName = ""start.exe" "mapa.jpg"";
Sprobuj tak:
Process process = Process.Start(@"c:\katalog\aplikacji\aplikacja.exe", @"parametr do przekazania np. c:\inna_aplikacja\aplikacja");
2.
<code class="c#">
ProcessStartInfo startInfo = new ProcessStartInfo(@"c:\katalog\aplikacji\aplikacja.exe");
startInfo.Arguments = @"parametr do przekazania np. c:\inna_aplikacja\aplikacja";
Process process = Process.Start(startInfo);
pozdrawiam
johny
heyka
zrobiłem tak jak napisałeś i się już odpala ta domyślna aplikacja, ale w momencie jak powinna załadować określony plik to chce się odwołać do "C:/Program.dgn" :/
najlepsze jest to, że jak skopiowałem ten plik w to miejsce to się otwiera :| więc tak jakby nie widzi tego argumentu :/
ok pomarudziłem i wreszcie się udało :]
zrobiłem tylko lekką modyfikację:
ProcessStartInfo startInfo = new ProcessStartInfo(@"c:\katalog\aplikacji\aplikacja.exe");
startInfo.WorkingDirectory = @"c:\katalog\aplikacji\";
startInfo.Arguments = @"plik.xxx";
Process process = Process.Start(startInfo);
dzięki wielkie za pomoc...