/// <summary> /// Force closes the window and waits for the process to exit before returning. /// </summary> public void Close() { if (!WindowProcess.CloseMainWindow()) { Console.WriteLine("Failed to close main window, killing process"); WindowProcess.Kill(); } WindowProcess.WaitForExit(); }
private void OpenChooseGameWindow() { oldProcess = WzqGameProcess; WindowProcess windowProcess = new WindowProcess(); windowProcess.ProcessWithWindow = UtilityTool.GetSysProcessWithWindow();; windowProcess.MouseMoveWinProcess += WindowProcess_MouseMoveWinProcess; windowProcess.MouseDownWinProcess += WindowProcess_MouseDownWinProcess; windowProcess.StartGetWinProcess(); }
public void CloseWindow() { if (mUILoader == null) { return; } if (mWindow != null) { RemoveFocus(mWindow, true); mWindow.Close(); WindowProcess.Cache(mWindow); mWindow = null; } }
public static void Cache(WindowProcess win) { if (win == null) { return; } win.name = null; win.param = null; win.mActive = false; win.mGameObject = null; win.mUILoader = null; win.mFocusState = 0; cached_instance.Enqueue(win); }
private void OpenChooseGameWindow() { //设置鼠标光标 string curFile = Path.Combine(AppContext.BaseDirectory, "Cursor\\aero_cross_xl.cur"); IntPtr colorCursorHandle = Win32Helper.LoadCursorFromFile(curFile); Win32Helper.SetSystemCursor(colorCursorHandle, Win32Helper.OCR_NORMAL); oldProcess = WzqGameProcess; windowProcess = new WindowProcess(); windowProcess.ProcessWithWindow = UtilityTool.GetSysProcessWithWindow();; windowProcess.MouseMoveWinProcess += WindowProcess_MouseMoveWinProcess; windowProcess.MouseDownWinProcess += WindowProcess_MouseDownWinProcess; windowProcess.StartGetWinProcess(); }
public void ShowWindow(string windowName, object param, System.Action loadedCallback) { if (mUILoader == null) { return; } if (mWindow != null) { RemoveFocus(mWindow, true); mWindow.Close(); WindowProcess.Cache(mWindow); } mWindow = WindowProcess.Get(windowName, param); AddFocus(mWindow, true, true); mWindow.Start(mUILoader, loadedCallback); }
public static WindowProcess Get(string name, object param) { WindowProcess win = null; if (cached_instance.Count > 0) { win = cached_instance.Dequeue(); } if (win == null) { win = new WindowProcess(); } win.mActive = false; win.mGameObject = null; win.mUILoader = null; win.name = name; win.param = param; win.mFocusState = 0; return(win); }
/// <summary> Create a new display with default <see cref="WndProc(IntPtr, uint, int, int)"/> handler.</summary> public Display() { proc = WndProc; }