Was ich getan habe ist, wenn Sie die Update-Anwendung sind startet von der eigenen, führen Sie den Updater mit Process.Start("\Path\To\Updater.exe");
, dann sofort die Haupt-App schließen (mit this.Close();
oder Application.Quit();
. Es sollte gut funktionieren.
um aus dem Inneren der Updater die Hauptanwendung zu töten, werden Sie p/aufrufen und Systemaufruf Methoden zu finden und zu töten, die Hauptanwendung müssen Es sollte so etwas wie dieses (nicht getestet) am Ende.
class CloseWindow
{
[DllImport("coredll.dll")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("coredll")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
public const int WM_CLOSE = 0x0010;
public static void Close(string windowName)
{
IntPtr hWnd = FindWindow(null, windowName);
SendMessage(hWnd, WM_CLOSE, null, null);
}
}
dann rufen Sie es mit CloseWindow.Close("My Application Title");
.
Danke, es war genau das, was ich gesucht habe! – pdiddy