Jak mogę uruchomić aplikację przy użyciu C #?
Wymagania: musi działać w systemie Windows XP i Windows Vista .
Widziałem przykład z próbnika DinnerNow.net, który działa tylko w systemie Windows Vista.
Jak mogę uruchomić aplikację przy użyciu C #?
Wymagania: musi działać w systemie Windows XP i Windows Vista .
Widziałem przykład z próbnika DinnerNow.net, który działa tylko w systemie Windows Vista.
Odpowiedzi:
Użyj System.Diagnostics.Process.Start()
metody.
Przeczytaj ten artykuł, jak go używać.
Process.Start("notepad", "readme.txt");
string winpath = Environment.GetEnvironmentVariable("windir");
string path = System.IO.Path.GetDirectoryName(
System.Windows.Forms.Application.ExecutablePath);
Process.Start(winpath + @"\Microsoft.NET\Framework\v1.0.3705\Installutil.exe",
path + "\\MyService.exe");
Oto fragment pomocnego kodu:
using System.Diagnostics;
// Prepare the process to run
ProcessStartInfo start = new ProcessStartInfo();
// Enter in the command line arguments, everything you would enter after the executable name itself
start.Arguments = arguments;
// Enter the executable to run, including the complete path
start.FileName = ExeName;
// Do you want to show a console window?
start.WindowStyle = ProcessWindowStyle.Hidden;
start.CreateNoWindow = true;
int exitCode;
// Run the external process & wait for it to finish
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
// Retrieve the app's exit code
exitCode = proc.ExitCode;
}
Z tymi obiektami możesz zrobić o wiele więcej, przeczytaj dokumentację: ProcessStartInfo , Process .
PathTo*.exe
ale nie spodziewałbym się, że zadziała. (a) co zrobić, jeśli jest wiele dopasowań? (b) Mam nadzieję, że kod Microsoftu na to nie pozwoli, ponieważ byłoby to słabe zabezpieczenie.
System.Diagnostics.Process.Start("PathToExe.exe");
Jeśli masz problemy z używaniem System.Diagnostics tak jak ja, użyj następującego prostego kodu, który będzie działał bez niego:
Process notePad = new Process();
notePad.StartInfo.FileName = "notepad.exe";
notePad.StartInfo.Arguments = "mytextfile.txt";
notePad.Start();
Process
jest w System.Diagnostics.
Dodatkowo będziesz chciał użyć zmiennych środowiskowych dla swoich ścieżek, jeśli to tylko możliwe: http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows
NA PRZYKŁAD
Jest o wiele więcej, sprawdź link do dłuższej listy.
Po prostu umieść plik file.exe w folderze \ bin \ Debug i użyj:
Process.Start("File.exe");
Spróbuj tego:
Process.Start("Location Of File.exe");
(Upewnij się, że korzystasz z biblioteki System.Diagnostics)