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

如何知道当前浏览器是否加载了C#代码,c#,C#,我正在处理浏览器的图像生成,但这样做是从windows窗体的代码中获取浏览器的快照。但如果浏览器未在特定时间(假设15秒)加载,则会出现空白快照。任何人都可以帮我。我不太确定我是否完全理解你想做什么,但我想尝试一下:听起来你想打开任何设置为用户默认web浏览器的程序,然后做一些类似于BitBlt的操作来截屏 但是,正如您所注意到的,很难只等待预定义的时间间隔,然后希望浏览器已完全加载。相反,您可以在运行进程后尝试类似于WaitForIdleInput的操作,这将暂停线程的执行,直到进程完成初始化

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

我不太确定我是否完全理解你想做什么,但我想尝试一下:听起来你想打开任何设置为用户默认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
//...

你的意思是说你在winform中有一个浏览器元素,想知道什么时候加载完页面吗?没有浏览器不在winform中,但是我的winform应用打开浏览器n浏览页面n在任何浏览器中拍摄页面快照bt我的应用不知道页面是否加载!!!是的,先生,这不起作用,因为当进程启动时,它们会立即打开理想状态!!您可以尝试指定以毫秒为单位的等待时间:
proc.WaitForInputIdle(3000)否并非如此。实际上,在我的项目(webfonts.com)中,我制作了一个windows应用程序,它将打开浏览器并输入URL并拍摄快照,但我需要知道特定浏览器(如firefox、opera、ie等)中的页面是否已加载,以便拍摄快照。即使互联网速度太慢,我的应用程序也应该在浏览器页面加载后拍摄快照,但我的代码无法知道页面是否加载,因为它是windows应用程序,在这种情况下该怎么办?????这种自动化宏将极难正确执行,原因正是您提到的。我强烈建议你尝试另一种方法来达到你想要的结果。我在这方面遇到了问题!!实际上,在我的网站(www.webfonts.fonts.com)上,我应该知道我的10000种字体。它们如何在不同操作系统的不同浏览器中出现。所以我在拍这些快照。除了这样做,还有其他解决方案吗??我非常感谢你的建议。请帮帮我!!