代码之家  ›  专栏  ›  技术社区  ›  helios456

隐藏进程的所有窗口(例如Internet Explorer)

  •  3
  • helios456  · 技术社区  · 15 年前

    我使用WatiN在internetexplorer中编写在用户机器后台运行的操作脚本。(我知道…哈奇)。我可以通过WatiN使internetexplorer窗口不显示。但是,在编写脚本的过程中,会打开一些HTML对话框。我可以使用User32.dll中的P-Invoke ShowWindow隐藏它们,但是当我找到对话框的HWnd时,它们仍然会出现一秒钟左右。我的问题是:

    谢谢

    2 回复  |  直到 15 年前
        1
  •  0
  •   d4nt    14 年前

    我假设你在WatiN的IE对象的Settings属性上尝试了AutoCloseDialogs属性?

    一种选择是在不同的用户帐户下运行整个程序。我不知道是什么引起了WatiN,但是 CreateProcessAsUser 默认情况下,WindowsAPI将把它创建的任何进程放在一个单独的交互式桌面上,即不是当前用户的桌面。 This blog post 有一些关于从.net调用CreateProcessAsUser的信息。

        2
  •  0
  •   Gans    13 年前
    ie.ShowWindow(NativeMethods.WindowShowStyle.Hide);