/// <summary> /// Run GpUpdate.EXE and wait in new Thread when process will be completed /// </summary> /// <param name="o"></param> private void CmdGPupdateProc(object o) { GPUpdate = new ProcessesFunctions().Run(AppConsts.CMD_GPUPDATE, AppConsts.CMD_GPUPDATE_PARAMS); if (GPUpdate != null) { new Task(() => { AppData.notifyIcon.CloseBalloon(); AppData.notifyIcon.ShowBalloonTip(StringsFunctions.ResourceString("resGPUPdateStart"), StringsFunctions.ResourceString("resVersion"), BalloonIcon.Info); } ).Start(); new Task(() => { GPUpdate.WaitForExit(); AppData.notifyIcon.CloseBalloon(); AppData.notifyIcon.ShowBalloonTip(StringsFunctions.ResourceString("resGPUPdateDone"), StringsFunctions.ResourceString("resVersion"), BalloonIcon.Info); GPUpdate = null; } ).Start(); } else { new Task(() => { AppData.notifyIcon.CloseBalloon(); AppData.notifyIcon.ShowBalloonTip(StringsFunctions.ResourceString("resGPUPdateFail"), StringsFunctions.ResourceString("resVersion"), BalloonIcon.Error); } ).Start(); } }
/// <summary> /// Run application as Admin /// </summary> /// <param name="o"></param> private void CmdRunAsProc(object o) { Process process = null; process = new ProcessesFunctions().RunAs(Assembly.GetEntryAssembly().CodeBase, "IgnoreMutex{B2A3B94A-26BF-4CC6-AC2B-7DDA34EFD413}"); if (process != null) { Application.Current.Shutdown(); } }