我正在编写一个系统托盘应用程序,需要检查基于内部网络的应用程序是否已打开.
我可以使用以下方法检查IE:
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();
string filename;
bool sdOpen = false;
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") { sdOpen = true; };
}
}
if (sdOpen) { Console.WriteLine("App is open"); } else { Console.WriteLine("App is not open"); };
Console.ReadKey(true);
Run Code Online (Sandbox Code Playgroud)
但是,部分使用该系统的用户更喜欢使用Chrome或Firefox.
如何为Chrome和Firefox执行与上述相同的操作(即获取浏览器中任何打开的标签的网址)?(我不会打扰其他浏览器,因为这些是我们组织中唯一使用的浏览器.)