/// <summary> /// /// </summary> private void GetTaskWindows() { // Get the desktopwindow handle int nDeshWndHandle = NativeWin32.GetDesktopWindow(); // Get the first child window int nChildHandle = NativeWin32.GetWindow(nDeshWndHandle, NativeWin32.GW_CHILD); List <string> list = new List <string>(); while (nChildHandle != 0) { //If the child window is this (SendKeys) application then ignore it. if (nChildHandle == Handle.ToInt32()) { nChildHandle = NativeWin32.GetWindow(nChildHandle, NativeWin32.GW_HWNDNEXT); } // Get only visible windows if (NativeWin32.IsWindowVisible(nChildHandle) != 0) { StringBuilder sbTitle = new StringBuilder(1024); // Read the Title bar text on the windows to put in combobox NativeWin32.GetWindowText(nChildHandle, sbTitle, sbTitle.Capacity); string sWinTitle = sbTitle.ToString(); { if (sWinTitle.Length > 0) { list.Add(sWinTitle); } } } // Look for the next child. nChildHandle = NativeWin32.GetWindow(nChildHandle, NativeWin32.GW_HWNDNEXT); } cboWindows.DataSource = list; }