如何使用c#在另一个应用程序中获取主窗口的子进程状态(活动与否)

时间:2016-06-10 09:29:02

标签: c# .net window-handles

我有一个客户端应用程序,在菜单选项卡中有一些选项卡,如下所示enter image description here。我需要在选择浏览选项卡时执行某些操作。我怎样才能在我的应用程序中获得该事件。我想编写自己的应用程序来执行此操作。我试过这种方式

int chars = 256;
                StringBuilder buff = new StringBuilder(chars);
                // Obtain the handle of the active window.
                IntPtr handle = GetForegroundWindow();
                if (GetWindowText(handle, buff, chars) > 0)
                {
                   if (buff.ToString() == mainWindowName)
                    {
                        IntPtr WndToFind = FindWindowByCaption(IntPtr.zero, "Browse");
                        if(WndToFind != IntPtr.Zero)
                        {
                            MessageBox.Show("Inside Browse");
                        }     
                    }
                }

我希望在“浏览”标签处于活动状态时显示某些消息。请帮帮我。

1 个答案:

答案 0 :(得分:0)

如果您使用tabcontrol,下面是用于了解用户选择哪个标签页的代码。

 private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
 {          
      if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage2"])
      {
           ...add your code here
      }
  }