protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!_isSlave) { var psi = new ProcessStartInfo(_anotherExePath) { Arguments = string.Format("SLAVEOF {0:X}", Handle.ToInt64()), Verb = "runas" }; _x86Process = new Process { StartInfo = psi }; _x86Process.Start(); Utils.SetWindowTopMost(Handle, true); Utils.CurrentWindowsList = Utils.GetAllWindows(); foreach (var hwnd in Utils.CurrentWindowsList) { AddToList("Exist", hwnd); if (SystemMenu.InsertSystmMenu(hwnd)) { SystemMenu.InitializeSystemMenu(hwnd); } } } Text += IntPtr.Size == 4 ? " (x86)" : " (x64)"; HookMessages.RegisterMessages(); HookMethods.StartHook(Handle); }
protected override void OnFormClosing(FormClosingEventArgs e) { HookMethods.StopHook(); HookMessages.UnregisterMessages(); if (!_isSlave) { foreach (var hwnd in Utils.CurrentWindowsList) { SystemMenu.RemoveSystemMenu(hwnd); } if (_x86Process != null && !_x86Process.HasExited) { Utils.ExitProcess(_x86Process); } } base.OnFormClosing(e); }