我这么测试一下,Button2 Click以后可以执行DocumentCompleted的。 不知道lz是怎么做的? Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim frm As New Form Dim wb As New WebBrowser frm.Controls.Add(wb) wb.Dock = DockStyle.Fill wb.Navigate("http://www.baidu.com") frm.Show() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim frm As New Form Dim wb As New WebBrowser AddHandler wb.DocumentCompleted, AddressOf Me.DocumentCompleted frm.Controls.Add(wb) wb.Dock = DockStyle.Fill wb.Navigate("http://www.baidu.com") frm.Show() End Sub Private Sub DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) MsgBox("Test") End SubEnd Class
不知道lz是怎么做的?
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frm As New Form
Dim wb As New WebBrowser
frm.Controls.Add(wb)
wb.Dock = DockStyle.Fill
wb.Navigate("http://www.baidu.com")
frm.Show()
End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim frm As New Form
Dim wb As New WebBrowser
AddHandler wb.DocumentCompleted, AddressOf Me.DocumentCompleted
frm.Controls.Add(wb)
wb.Dock = DockStyle.Fill
wb.Navigate("http://www.baidu.com")
frm.Show()
End Sub Private Sub DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)
MsgBox("Test")
End SubEnd Class
StartCheckServiceTimer()方法每隔一段时间会被调用一次,另外因为是windows服务程序,所以不能做成winform,所以不能交互。不能再窗体上拖一个webbrower控件过来。只能用new的方法,动态创建对象。
private void StartCheckServiceTimer()
{
TimerCallback timerDelegate = new TimerCallback(OnWebMontiorServiceTimer);
}
单线程是在这里设置的。
private void OnWebMontiorServiceTimer(Object state)
{
Thread myThread = new Thread(new ThreadStart(doAction));
myThread.SetApartmentState(ApartmentState.STA); myThread.Start(); myThread.Join(); }
private void doAction()
{
WebBrowerMontior(string url) } private void WebBrowerMontior(string url)
{
webBrowserForMontior = new WebBrowser();
webBrowserForMontior.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowserCompleted);
webBrowserForMontior.Navigate(new Uri(url));
} private void WebBrowserCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}
如果能解决这个问题,就什么都解决了.我先试试楼上的办法
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\你的服务名]
桌面交互