public static SaveRequireWindow GetSaveRequireWindow(Main_3C main, uint processId) { IntPtr hwnd = IntPtr.Zero; SaveRequireWindow current = null; do { System.Threading.Thread.Sleep(500); hwnd = GetWindowHandle(main.Hwnd, processId); if (hwnd != IntPtr.Zero) { current = new SaveRequireWindow(hwnd); } if (current != null) { current.InitHandle(); } } while (_run && (hwnd == IntPtr.Zero || current == null || current.IsValidWindow() == false)); if (current != null && current.IsValidWindow()) { current.Owner = main; return(current); } return(null); }
/// <summary> /// 监听询问是否保存窗口。 /// </summary> /// <param name="value">当前选择的节点文本。</param> internal static void ListenSaveRequireWindow(object value) { Main_3C main = value as Main_3C; while (_run) { SaveRequireWindow fill = FillDialog_3C.GetSaveRequireWindow(main, main.ProcessId); string message = string.Format("是否保存{0}数据?", main.SelectedText); if (fill != null && fill.Message != null && fill.Message == message) { fill.DoFillWork(value); } } }