2009-08-19 6 views
1

У меня есть приложение для мобильных приложений.Как убить мобильное приложение?

Я хотел бы запустить updater.exe, который обновит мое мобильное приложение. Но мне нужно остановить мое мобильное приложение до запуска процесса обновления. Как я могу это достичь?

ответ

3

Что я сделал, если вы запускаете приложение обновления изнутри самостоятельно, выполнить программу обновления с Process.Start("\Path\To\Updater.exe");, а затем сразу же закройте главное приложение (с this.Close(); или Application.Quit();. Он должен работать нормально.

чтобы убить главного приложения изнутри программы обновления, вам придется использовать P/Invoke и системных вызовов методов, чтобы найти и убить главного приложения это должно в конечном итоге что-то вроде этого (непроверенные):.

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); 
    } 
}

затем назовите его CloseWindow.Close("My Application Title");.

+0

Спасибо, это именно то, что я искал! – pdiddy

Смежные вопросы