Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
            }
        }