我正在编写一个Systray应用程序,该应用程序投票查看特定url是否在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浏览器了。
您可以使用Timer
并集成您的代码,旨在检查计时器刻度中的URL。当然,如果URL是打开的,然后在计时器的两个滴答之间关闭,你是不会知道的。