C# 为什么我';m获取异常[System.Runtime.InteropServices.COMException]={“请求的资源正在使用中”(来自HRESULT的异常:0x800700AA)“}?

C# 为什么我';m获取异常[System.Runtime.InteropServices.COMException]={“请求的资源正在使用中”(来自HRESULT的异常:0x800700AA)“}?,c#,.net,winforms,C#,.net,Winforms,计时器滴答声事件中存在异常。 在变量PostSconter大约为50之后,我在timer tick事件中得到异常,它在timer tick事件中得到捕获 我不确定它发生在哪一行,为什么。 如果不使用try-and-catch和断点,当程序运行时,PostSconter接近50,我会看到一个消息弹出窗口,上面写着“第1行网页内存不足消息” 使用系统; 使用System.Collections.Generic; 使用系统组件模型; 使用系统数据; 使用系统图; 使用System.Linq; 使用系统

计时器滴答声事件中存在异常。 在变量PostSconter大约为50之后,我在timer tick事件中得到异常,它在timer tick事件中得到捕获

我不确定它发生在哪一行,为什么。 如果不使用try-and-catch和断点,当程序运行时,PostSconter接近50,我会看到一个消息弹出窗口,上面写着“第1行网页内存不足消息”

使用系统;
使用System.Collections.Generic;
使用系统组件模型;
使用系统数据;
使用系统图;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Windows.Forms;
使用mshtml;
使用HtmlAgilityPack;
Net系统;
使用System.IO;
名称空间网站\u登录\u和\u浏览
{
公共部分类Facebook_帖子:表单
{
WebBrowser wb=新的WebBrowser();
int PostsCenter=0;
StreamWriter w=新的StreamWriter(@“e:\posts.txt”);
公共Facebook_Post()
{
初始化组件();
webBrowser1.ScriptErrorsSuppressed=true;
webBrowser1.导航(“https://www.facebook.com/");
timer1.Enabled=true;
label4.Text=DateTime.Now.ToString();
w、 WriteLine(label4.Text.ToString());
w、 WriteLine(Environment.NewLine);
标签5.可见=假;
标签2.可见=假;
}
私有无效webBrowser1\u文档已完成(对象发送者,WebBrowserDocumentCompletedEventArgs e)
{
尝试
{
if(e.Url.AbsoluteUri!=webBrowser1.Url.AbsoluteUri)
{
返回;
}
wb=webBrowser1;
foreach(wb.Document.All.GetElementsByName(“xhpc_消息”)中的HtmlElement he)
{
he.SetAttribute(“值”,随机字符串(10));
}
var elems=wb.Document.GetElementsByTagName(“按钮”);
foreach(元素中的HtmlElement元素)
{
if(elem.InnerText==“Post”)
{
元素调用成员(“单击”);
}
}
发送=真;
PostSconter+=1;
label2.Text=PostsCenter.ToString();
label2.Visible=true;
如果(PostsCenter==720)
{
w、 WriteLine(PostsCenter.ToString());
w、 WriteLine(Environment.NewLine);
label5.Text=DateTime.Now.ToString();
标签5.可见=真实;
w、 WriteLine(label5.Text.ToString());
w、 Close();
}
}
捕获(异常错误)
{
字符串myerr=err.ToString();
}
}
bool-sent=false;
整数计数=0;
私有无效计时器1_刻度(对象发送方,事件参数e)
{
尝试
{
计数+=1;
如果(发送==true&&count>=60)
{
计数=0;
发送=错误;
webBrowser1.导航(“https://www.facebook.com/");
}
}
捕获(异常错误)
{
字符串myerr=err.ToString();
}
}
私人建筑商;
private static Random=new Random((int)DateTime.Now.Ticks);
私有字符串随机字符串(整数大小)
{
尝试
{
生成器=新的StringBuilder();
char ch;
对于(int i=0;i
您从不禁用计时器。您的计数总是递增1。 您需要设置一些条件以防止它始终递增

这是您的代码:

private void timer1_Tick(object sender, EventArgs e)
    {
        try
        {
            count += 1;
            if (sent == true && count >= 60)
            {
                count = 0;
                sent = false;
                webBrowser1.Navigate("https://www.facebook.com/");
            }
        }
        catch(Exception err)
        {
            string myerr = err.ToString();
        }
    }
您需要执行以下操作:

if(!sent) count += 1;


取决于您要执行的操作。

您对webbrowser使用哪种参考?它是COM吗?webBrowser1是form1 designer。赫斯特把它从工具箱里拖了出来。
if(!sent) count += 1;
if(sent) count = 0 ;
if(sent) timer1.enabled = false;