我正在编写一个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浏览器。
答案 0 :(得分:2)
您可以使用Timer
并整合您的代码,目的是检查计时器刻度中的网址。当然,如果URL被打开,然后在你的计时器的滴答之间关闭,你将不会知道它。