/// <summary> /// Tries to find a valid packet provider, asks the user to select one /// if there are multiple windows. /// </summary> /// <param name="selectSingle">If true a single valid candidate will be selected without prompt.</param> /// <returns></returns> private bool SelectPacketProvider(bool selectSingle) { var alissaWindows = WinApi.FindAllWindows("mod_Alissa"); FoundWindow window = null; if (alissaWindows.Count == 0) { Console.WriteLine("No packet provider found."); return(false); } else if (selectSingle && alissaWindows.Count == 1) { window = alissaWindows[0]; } else { Console.WriteLine("Multiple packet providers."); var select = new FrmAlissaSelect(alissaWindows); if (select.ShowDialog() == DialogResult.Cancel) { return(false); } window = FrmAlissaSelect.Selection; } alissaHWnd = window.HWnd; return(true); }
private void ConnectBtn_Click(object sender, EventArgs e) { if (windowSelector.SelectedItem == null) { MessageBox.Show("Please select a packet provider.", Text, MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } Selection = (FoundWindow)windowSelector.SelectedItem; DialogResult = DialogResult.OK; Close(); }
/// <summary> /// Tries to find a valid packet provider, asks the user to select one /// if there are multiple windows. /// </summary> /// <param name="selectSingle">If true a single valid candidate will be selected without prompt.</param> /// <returns></returns> private bool SelectPacketProvider(bool selectSingle) { var alissaWindows = WinApi.FindAllWindows("mod_Alissa"); FoundWindow window = null; if (alissaWindows.Count == 0) { Console.WriteLine("No packet provider found."); return(false); } else if (selectSingle && alissaWindows.Count == 1) { window = alissaWindows[0]; } else { Console.WriteLine("More than one packet provider found."); } alissaHWnd = window.HWnd; return(true); }