如何知道当前浏览器是否加载了C#代码

时间:2010-11-21 11:33:28

标签: c#

我正在使用浏览器的图像生成,但是这样做我正在以窗体形式从代码中获取浏览器的快照。但如果浏览器未在特定时间内加载(假设为15秒),则会出现空白快照。任何人都可以帮助我。

1 个答案:

答案 0 :(得分:3)

我不完全确定我是否理解你正在尝试做什么,但我会对它进行一次尝试:听起来你正试图打开任何程序被设置为用户的默认Web浏览器,然后执行BitBlt之类的操作来截取它。

然而,正如您所注意到的,很难等待预定义的时间间隔并且希望浏览器已完全加载。相反,你可以在运行进程后尝试WaitForIdleInput之类的东西,这将暂停线程的执行,直到进程完成初始化并且空闲(等待用户输入)。这应该允许浏览器在继续拍摄快照之前完成加载。

类似以下代码:

//start the web browser
System.Diagnostics.Process proc = System.Diagnostics.Process.Start("iexplore.exe");

//wait for it to completely finish loading
proc.WaitForInputIdle();

//take your screenshot, or whatever
//...