在c#中查询网址

时间:2011-10-20 16:36:20

标签: c# multithreading polling

我正在编写一个Systray应用程序,该应用程序会轮询以查看某个特定网址是否在IE中打开,并在检测到它时弹出通知。

它不需要是实时的,只需要检测页面是否打开并提示操作。

以这种方式进行民意调查的最有效方法是什么?我已经整理了一些代码来检查网站是否已打开:

SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();
        string filename;
        foreach (SHDocVw.InternetExplorer ie in shellWindows)
        {
            filename = Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
            if (filename.Equals("iexplore"))
            {
                string[] urlParts = (ie.LocationURL.ToString()).Split('/');
                string website = urlParts[2];
                if (website == "myapp:8080") { appOpen = true; };
            }
        }

如果appOpen返回true,则应触发通知。

我想我需要对此进行处理,因为应用程序上还有一个菜单。我希望这个资源占用空间尽可能小。或者,如果我可以使用一些观察者,这可能是一种更好的方法。 (虽然我也需要检查Chrome浏览器。

1 个答案:

答案 0 :(得分:2)

您可以使用Timer并整合您的代码,目的是检查计时器刻度中的网址。当然,如果URL被打开,然后在你的计时器的滴答之间关闭,你将不会知道它。