Jak uruchomoić aplikację z poziomu C# ?

Odpowiedz Nowy wątek
2006-10-23 13:24
ziom
0

Witam.

Mam pytanko. Jak w C# odpalić inną aplikację ?
Przykładowo chciałbym poprzez kliknięcia odpalić zupełnie inny program.

Pozostało 580 znaków

2006-10-23 20:23
0
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);
}

Senior Full Stack Developer .NET & Angular

Pozostało 580 znaków

2006-10-27 13:51
ziom
0

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 :/

Pozostało 580 znaków

2006-10-27 15:20
0

Sprobuj np.

@"C:\Program Files\cos.exe \"C:\Program files\cosinnego.xxx\""

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-10-28 19:49
0

Przed \ podstaw \ czyli np. "c:\Program Files\..."

Pozostało 580 znaków

2006-10-29 02:20
0

Nie baldzo, bo przeciez jest @ przed stringiem...

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-10-31 13:14
ziom
0

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ę...

Pozostało 580 znaków

2006-10-31 13:19
0

Yyy, a czemu \C i czemu /" ?

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-10-31 13:32
ziom
0

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\"";

Pozostało 580 znaków

2006-10-31 13:48
0

Sprobuj tak:

</ol>

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


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-11-02 08:07
ziom
0

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 :/

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0