private void AddHandle(IntPtr hwnd) { if (!WinUser.IsWindow(hwnd) || hwnd == Handle) { return; } string item = GetWindowToString(hwnd); if (WinUser.IsWindow(hwnd)) { var source = HwndSource.FromHwnd(hwnd); if (source != null) { dynamic WpfWindow = source.RootVisual; item = "WPF " + item; } } if (!hwndlist.Items.Contains(item)) { hwndlist.Items.Add(item); } hwndlist.SelectedItem = item; hwndlist.BringIntoView(); }
private void hwndText_TextChanged(object sender, TextChangedEventArgs e) { IntPtr hwnd; if (IsIntPtr(hwndText.Text, 16) && (hwnd = Hwnd) != IntPtr.Zero && WinUser.IsWindow(hwnd) && hwnd != Handle) { s_hButton.IsEnabled = true; s_hButton.IsChecked = WinUser.IsWindowVisible(hwnd); e_dButton.IsEnabled = true; e_dButton.IsChecked = WinUser.IsWindowEnabled(hwnd); gotoNextButton.IsEnabled = NextWindow(hwnd) != IntPtr.Zero ? true : false; gotoPrevButton.IsEnabled = PrevWindow(hwnd) != IntPtr.Zero ? true : false; AddHandle(hwnd); StringBuilder strb = new StringBuilder(256); WinUser.GetWindowText(hwnd, strb, 256); string title = strb.ToString(); this.Title = string.Format("{0} - {1}", assemblyName.Name, title); } else { WhenNullHandle(); } }
private void TextBlock_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { var item = ((FrameworkElement)sender).DataContext.ToString(); var str_hwnd = Regex.Match(item, "[0-9A-F]{8}").Value; if (WinUser.IsWindow(new IntPtr(Convert.ToInt32(str_hwnd, 16)))) { hwndText.Text = str_hwnd; } else { hwndlist.Items.Remove(item); } }
private void hwndtree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { var tvi = e.NewValue as TreeViewItem; if (tvi.Header == null) { return; } var item = tvi.Header.ToString(); var str_hwnd = Regex.Match(item, "[0-9A-F]{8}").Value; if (str_hwnd == "") { return; } if (WinUser.IsWindow(new IntPtr(Convert.ToInt32(str_hwnd, 16)))) { hwndText.Text = str_hwnd; } else { hwndlist.Items.Remove(item); } }