我如何杀死我的移动应用程序?

时间:2009-08-19 18:56:07

标签: .net windows compact-framework mobile

我有这个Windows移动应用程序。

我想发布一个updater.exe来更新我的移动应用。但是我需要在更新程序启动之前停止我的移动应用程序..我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:3)

我所做的是如果您从自己的内部启动更新应用程序,使用Process.Start("\Path\To\Updater.exe");执行更新程序,然后立即关闭主应用程序(使用this.Close();或{{1}它应该可以正常工作。

要从更新程序内部终止主应用程序,您必须使用p / invoke和系统调用方法来查找和终止主应用程序。它最终应该是这样的(未经测试):

Application.Quit();

然后使用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); } }调用它。