hallo forum,
ich benötige mal wieder eure hilfe...
ich möchte eine datei mit dem dazugehörigen prog öffnen über Process.start().
das klappt auch ganz gut, wenn das entsprechende prog nicht bereits geöffnet ist.
da ist nämlich der wurm drin... wenn das progr bereits offen ist, passiert nämlich nichts.
wie kann ich es jedoch so anstellen, dass die datei geöffnet wird, auch wenn das entsprechende prog bereits offen ist?
danke.
Hy
Du fragst zuerst ab, ob der Process bereits am Laufen ist und beendest diesen dann. Danach kannst Du den Prozess mit den von Dir mitgegebenen Parametern starten.
if (process.hasexited !=true)
{
process.close();
}
DeinProcess.start()
So in der Art würd ich es jetzt machen. 😉
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
das habe ich mir auch schon überlegt..
aber ich weiss es nicht genau, ob es erwünscht ist, dass der alte prozess geschlossen wird...
eine andere möglichkeit gibt es nicht, die vergleichsweise einfach wäre?
Wie wärs mit dieser Lösung?
public static Process RunningInstance()
{
// Alle Prozesse mit dem Namen des aktuellen Prozesses holen
Process[] processes = Process.GetProcessesByName(
Process.GetCurrentProcess().ProcessName);
// Alle Prozesse durchgehen und den Fenstertitel vergleichen
string mainWindowTitle = Process.GetCurrentProcess().MainWindowTitle;
for (int i = 0; i < processes.Length; i++)
{
// Den aktuellen Prozess ausschließen
if (processes[i].Id != Process.GetCurrentProcess().Id)
{
if (processes[i].MainWindowTitle == mainWindowTitle)
{
// Prozess gefunden, diesen zurückgeben
return processes[i];
}
}
}
// Kein Prozess gefunden, der dem aktuellen entspricht, also null
// zurückgeben
return null;
}
Du müsstest halt anstatt GetCurrentProcess den jeweiligen einsetzen den du brauchst, sollte dann eigentlich funktionieren wenn ich dich nicht falsch verstanden habe 😉
mfg Inf3rnus
http://netencoderteam.funpic.de