我持有的web浏览器控件的Windows窗体滚动后捕获屏幕,该Web浏览器将改变它在固定位置的位置自动如何使用线程UI
所以首先我把导航定位X那么我会从我的表格中抓取一张图片,然后将位置更改为Y,然后再拍摄一张。
我的问题是,我使用的导航定位像
webBrowser1.Navigate("javascript:window.scroll(0," + X + ");");
所以我应该等待告诉UI改变则位置执行捕捉代码,完成后我的位置重新更改为Y轴相同方式并等待告诉UI完成然后捕获。
我尝试使用后台工作,但它不支持我,我也尝试线程,但作为我;米不太好处理线程我的用户界面没有在捕获前导航。 我使用线程,如:
ThreadStart captureFunc = new ThreadStart(CaptureScreen);
Thread captureThread = new Thread(captureFunc);
captureThread.Start();
while (!doneVal)
{
}
captureThread.Abort();
而CaptureScreen
是我的拍摄功能和doneVal
是默认为false和捕获后改为true值。 任何帮助将不胜感激。
使用同步原语,如'Mutex','Events'和'WaitHandles'。你永远不应该无限循环来创建一个“同步”。 –
我不太喜欢使用线程,但我现在正在阅读它,谢谢:) – AshOoO