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

xlpyo6sf  于 2023-02-01  发布在  .NET
关注(0)|答案(2)|浏览(151)

我正在使用WatiN编写Internet Explorer中在用户计算机后台运行的操作脚本。(我知道......很黑)。我可以通过WatiN使Internet Explorer窗口不显示。但是,在我的脚本中,一些HTML对话框被打开。我可以使用User32.dll中的P-Invoke ShowWindow隐藏它们。但是当我找到对话框的HWND时,它们仍然会出现一秒钟左右。我的问题是:
有没有办法阻止进程显示任何窗口?
谢谢

ffscu2ro

ffscu2ro1#

ie.ShowWindow(NativeMethods.WindowShowStyle.Hide);
bprjcwpo

bprjcwpo2#

我假设您尝试了WatiN中IE对象的Settings属性上的AutoCloseDialogs属性?
一种选择是在不同的用户帐户下运行整个过程。我不确定是什么调用了WatiN,但默认情况下,CreateProcessAsUser Windows API会将它创建的任何进程放在一个单独的交互式桌面中,即不是当前用户的桌面。This blog post有一些关于从. net调用CreateProcessAsUser的信息。

相关问题