private static void LoadHST(object param) { try { Node OCR = param as Node; Form form = Application.OpenForms["FormOCR"]; TabControl tabControl1; if (form == null) { return; } tabControl1 = form.Controls.Find("tabControl1", true).FirstOrDefault() as TabControl; if (tabControl1 == null) { return; } // SpinWait.SpinUntil(() => false, 1000); SpinWait.SpinUntil(() => (from prs in Process.GetProcessesByName("VB9BReaderForm").OfType <Process>().ToList() where prs.MainWindowTitle.Equals("[" + OCR.AdrNo + "]Wafer Reader Version 4.3.1.0") select prs).Count() != 0, 60000); SpinWait.SpinUntil(() => false, 1000); // Put it into this form if (tabControl1.InvokeRequired) { AssignUI ph = new AssignUI(LoadHST); tabControl1.BeginInvoke(ph, param); } else { var ps = from prs in Process.GetProcessesByName("VB9BReaderForm").OfType <Process>().ToList() where prs.MainWindowTitle.Equals("[" + OCR.AdrNo + "]Wafer Reader Version 4.3.1.0") select prs; if (ps.Count() != 0) { tabControl1.TabPages.Add(OCR.Name, OCR.Name); Process p2 = ps.First(); appWin2 = p2.MainWindowHandle; SetParent(p2.MainWindowHandle, tabControl1.TabPages[OCR.Name].Handle); MoveWindow(p2.MainWindowHandle, 0, -30, tabControl1.TabPages[OCR.Name].Width, tabControl1.TabPages[OCR.Name].Height + 30, true); var s = GetWindowLong(p2.MainWindowHandle, GWL_STYLE); SetWindowLong(p2.MainWindowHandle, GWL_STYLE, s | WS_CHILD); } //ControllerManagement.Get(OCR.Controller).Connect(); pCnt--; if (pCnt == 0) { Button Reload = form.Controls.Find("Reload_btn", true).FirstOrDefault() as Button; Reload.Enabled = true; } } } catch (Exception e) { logger.Error(e.StackTrace); } }
private static void LoadCOGNEX(object param) { try { Node OCR = param as Node; //SpinWait.SpinUntil(() => false, 1000); //Cognex Wafer ID - 4.5.0 SpinWait.SpinUntil(() => Process.GetProcessesByName("WaferID")[0].MainWindowTitle.Equals("Cognex Wafer ID - 4.5.0"), 60000); SpinWait.SpinUntil(() => false, 1000); //SpinWait.SpinUntil(() => Process.GetProcessesByName("WaferID").Length != 0, 60000); //logger.Debug("1" + Process.GetProcessesByName("WaferID")[0].MainWindowTitle); //SpinWait.SpinUntil(() => false, 3000); //logger.Debug("2"); Form form = Application.OpenForms["FormOCR"]; TabControl tabControl1; if (form == null) { return; } tabControl1 = form.Controls.Find("tabControl1", true).FirstOrDefault() as TabControl; if (tabControl1 == null) { return; } if (tabControl1.InvokeRequired) { AssignUI ph = new AssignUI(LoadCOGNEX); tabControl1.BeginInvoke(ph, param); } else { tabControl1.TabPages.Add("COGNEX", "COGNEX"); Process p2 = Process.GetProcessesByName("WaferID")[0]; appWin2 = p2.MainWindowHandle; SetParent(p2.MainWindowHandle, tabControl1.TabPages["COGNEX"].Handle); MoveWindow(p2.MainWindowHandle, 0, -30, tabControl1.TabPages["COGNEX"].Width, tabControl1.TabPages["COGNEX"].Height + 30, true); var s = GetWindowLong(p2.MainWindowHandle, GWL_STYLE); SetWindowLong(p2.MainWindowHandle, GWL_STYLE, s | WS_CHILD); pCnt--; if (pCnt == 0) { Button Reload = form.Controls.Find("Reload_btn", true).FirstOrDefault() as Button; Reload.Enabled = true; } } } catch (Exception e) { logger.Error(e.StackTrace); } }