C# 使用P/Invoke在IE中选择选项卡

C# 使用P/Invoke在IE中选择选项卡,c#,pinvoke,C#,Pinvoke,IE窗口可以有多个选项卡。我想使用P/Invoke选择标题匹配的选项卡。我已经有了代码,它将遍历所有选项卡,并检查这样的选项卡是否存在 参考p/Inoke: 也许将选项卡设置为焦点窗口会起作用 [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool SetForegroundWindow(IntPtr hWnd); 你的问题到底是什么?大概你想让我们为你做这件事——如果是这样的话

IE窗口可以有多个选项卡。我想使用P/Invoke选择标题匹配的选项卡。我已经有了代码,它将遍历所有选项卡,并检查这样的选项卡是否存在

参考p/Inoke:


也许将选项卡设置为焦点窗口会起作用

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);

你的问题到底是什么?大概你想让我们为你做这件事——如果是这样的话,你至少可以让我们知道它是如何工作的。在IE9或IE10中不工作,你不能支持这样的代码。@Justin:我试着将CTRL-t发送到IE窗口,但它不工作。我写了你上面看到的代码,我不知道我会选择谁来选择这个选项卡。@HansPassant:你认为最好的方法是控制IE-打开/关闭选项卡。。改变对标签页的关注等。我过去使用过Watin框架,但在标签页上它有自己的局限性。IE没有为标签页提供自动化支持,尽管微软很容易添加。在强烈怀疑这是故意的情况下,只有用户可以控制她所查看的内容。所以唯一的好方法就是不要这样做。IE窗口-至少在IE8有很多句柄之前,因为每个控件都有自己的句柄。所以,这行不通。
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);