Beispiel #1
0
 /// <summary>
 /// 事件处理函数,需要使用委托
 /// </summary>
 /// <param name="e"></param>
 void EventProcess(Object e)
 {
     if (e.GetType() == typeof(WebScanResultEventArgs))
     {
         cnt++;
         if (last == DateTime.MinValue)
         {
             last = DateTime.Now;
         }
         else
         {
             TimeSpan ts = DateTime.Now - last;
             if (ts.TotalSeconds >= 1.0)
             {
                 last = DateTime.Now;
                 lock (lssLblSpeed)
                 {
                     lssLblSpeed.Text = string.Format("每秒{0}个页面", cnt);
                 }
                 cnt = 0;
             }
         }
         WebScanResultEventArgs arg = (WebScanResultEventArgs)e;
         lock (tssLblFile)
         {
             tssLblFile.Text = arg.URL;
         }
         if (
             arg.StatusCode == HttpStatusCode.OK ||
             arg.StatusCode == HttpStatusCode.Forbidden ||
             arg.StatusCode == HttpStatusCode.Redirect
             )
         {
             lock (lvResult)
             {
                 //lvResult.BeginUpdate();
                 ListViewItem lvi = new ListViewItem(arg.StatusCode.ToString());
                 lvi.SubItems.Add(arg.URL);
                 lvResult.Items.Add(lvi);
                 //lvResult.EndUpdate();
             }
         }
         lock (tsProssBar)
         {
             tsProssBar.Maximum = arg.TotalLines;
             tsProssBar.Value   = arg.CurrentLineNum;
         }
     }
     else if (e.GetType() == typeof(EventArgs))
     {
         MessageBox.Show("扫描结束,请检查结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
         clbDicts.Enabled = true;
         txtUrl.Enabled   = true;
         btnScan.Text     = "Scan";
         btnScan.Enabled  = true;
     }
 }
Beispiel #2
0
 /// <summary>
 /// 扫描结果
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void webScan_OnScanResult(object sender, WebScanResultEventArgs e)
 {
     this.Invoke(new DelegEventProcess(this.EventProcess), e);
 }