コード例 #1
0
ファイル: FormSpyWindow.cs プロジェクト: user20170106/PCMgr
 private void treeViewMain_AfterSelect(object sender, TreeViewEventArgs e)
 {
     if (treeViewMain.SelectedNode != null)
     {
         TreeViewWinData d = (TreeViewWinData)treeViewMain.SelectedNode.Tag;
         selectHwnd             = d.hwnd;
         textBoxClassName.Text  = d.info.ClassName;
         textBoxClientRect.Text = d.info.WndInfo.rcClient.ToRectangle().ToString();
         textBoxRect.Text       = d.info.WndInfo.rcWindow.ToRectangle().ToString();
         textBoxHandle.Text     = d.hwnd.ToInt32().ToString();
         textBoxStytle.Text     = "0x" + d.info.WndInfo.dwStyle.ToString("X").PadLeft(8, '0') + "\r\n--------\r\n";
         textBoxCtlId.Text      = GetDlgCtrlID(d.hwnd).ToString();
         foreach (var v in m_dic_style)
         {
             if ((d.info.WndInfo.dwStyle & v.Key) == v.Key)
             {
                 textBoxStytle.Text += "0x" + v.Key.ToString("X").PadLeft(8, '0') + " " + v.Value + "\r\n";
             }
         }
         textBoxExStytle.Text = "0x" + d.info.WndInfo.dwExStyle.ToString("X").PadLeft(8, '0') + "\r\n--------\r\n";
         foreach (var v in m_dic_exstyle)
         {
             if ((d.info.WndInfo.dwExStyle & v.Key) == v.Key)
             {
                 textBoxExStytle.Text += "0x" + v.Key.ToString("X").PadLeft(8, '0') + " " + v.Value + "\r\n";
             }
         }
         textBoxText.Text = d.info.WindowText;
     }
 }
コード例 #2
0
ファイル: FormSpyWindow.cs プロジェクト: user20170106/PCMgr
        private bool LoadChildWindows(bool re = false)
        {
            if (hWnd != IntPtr.Zero)
            {
                if (IsWindow(hWnd))
                {
                    treeViewMain.Nodes.Clear();

                    WindowInfo wi = this.GetWindowInfo(hWnd);
                    Text = "[" + wi.WindowText + "] TaskManager Spy";

                    TreeNode nd    = new TreeNode(wi.Hwnd.ToString("X").PadLeft(8, '0') + " | " + wi.WindowText + " | " + wi.ClassName);
                    IntPtr   hIcon = MGetWindowIcon(hWnd);
                    if (hIcon != IntPtr.Zero)
                    {
                        mainImageList.Images.Add(Icon.FromHandle(hIcon));
                        nd.ImageIndex = mainImageList.Images.Count - 1;
                    }
                    else
                    {
                        if (IsWindowVisible(wi.Hwnd))
                        {
                            nd.ImageIndex = 1;
                        }
                        else
                        {
                            nd.ImageIndex = 0;
                        }
                    }
                    TreeViewWinData d = new TreeViewWinData();
                    d.hwnd   = hWnd;
                    d.loaded = false;
                    d.info   = wi;
                    nd.Tag   = d;
                    TreeNode ndnull = new TreeNode(Lanuages.LanuageMgr.GetStr("Loading", false));
                    ndnull.Name = "ndnull";
                    nd.Nodes.Add(ndnull);
                    treeViewMain.Nodes.Add(nd);

                    labelState.Hide();
                    panelMain.Show();

                    if (re)
                    {
                        MessageBox.Show(Lanuages.LanuageMgr.GetStr("RefeshSuccess"));
                    }
                }
                else
                {
                    labelState.Text = Lanuages.LanuageMgr.GetStr("InvalidHwnd");
                }
            }
            else
            {
                labelState.Text = Lanuages.LanuageMgr.GetStr("InvalidHwnd");
            }
            return(false);
        }
コード例 #3
0
ファイル: FormSpyWindow.cs プロジェクト: user20170106/PCMgr
 private void treeViewMain_AfterExpand(object sender, TreeViewEventArgs e)
 {
     if (e.Action == TreeViewAction.Expand)
     {
         TreeViewWinData d = (TreeViewWinData)e.Node.Tag;
         if (!d.loaded)
         {
             LoadChilds(d.hwnd, e.Node);
             d.loaded   = true;
             e.Node.Tag = d;
             TreeNode n = e.Node.Nodes["ndnull"];
             if (n != null)
             {
                 e.Node.Nodes.Remove(n);
             }
         }
     }
 }
コード例 #4
0
ファイル: FormSpyWindow.cs プロジェクト: user20170106/PCMgr
 private void refeshitem()
 {
     if (treeViewMain.SelectedNode != null)
     {
         TreeViewWinData d = (TreeViewWinData)treeViewMain.SelectedNode.Tag;
         WindowInfo      w = d.info;
         d.info.WindowText = textBoxText.Text;
         treeViewMain.SelectedNode.Text = w.Hwnd.ToString("X").PadLeft(8, '0') + " | " + w.WindowText + " | " + w.ClassName;
         treeViewMain.SelectedNode.Tag  = d;
         if (!IsWindowVisible(w.Hwnd))
         {
             treeViewMain.SelectedNode.ForeColor = Color.Gray;
         }
         else if ((w.WndInfo.dwExStyle & WS_EX_TRANSPARENT) != 0)
         {
             treeViewMain.SelectedNode.ForeColor = Color.Red;
         }
         else
         {
             treeViewMain.SelectedNode.ForeColor = Color.Black;
         }
     }
 }