如何知道当前导航器的URL

时间:2014-04-03 07:55:48

标签: url process navigator

你将要阅读许多语法错误,抱歉,我不是英语母语。

您好,我正在开发一个简单的软件来计算您在应用程序上花费的时间,在开始时并不复杂,但现在他们要求我确定应用程序何时是Chrome,Firefox或IE等导航器。然后它必须确定当前正在使用哪个URL来开始计算用户在所有打开的页面上浪费了多少,但我不知道如何识别是否是导航器,显然是哪个URL。

输出示例(output.txt)

Process Used:    
netbeans 00:04:43     <- Done
calc 00:23:12     <- Done
chrome(www.facebook.com) 00:01:02    <- Dont know how
chrome(www.9gag.com) 00:17:23     <- Dont know how

全球

        [DllImport("user32.dll")]
        public static extern IntPtr GetWindowThreadProcessId(IntPtr hWnd, out uint ProcessId);
        [DllImport("user32.dll")]
        private static extern IntPtr GetForegroundWindow();

这是我获取当前正在使用的流程名称的方式

            GetWindowThreadProcessId(hwnd, out pid);
            System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById((int)pid);
            String NOMBRE = p.ProcessName.ToString();
希望有些人可以帮助我。谢谢!

1 个答案:

答案 0 :(得分:0)

真的没有简单的答案。 &#34;导航仪&#34;被称为网络浏览器,以帮助您搜索。

对于操作系统,它们是常规程序,没什么特别的。特别是,操作系统不知道当前显示的URL。这是一件好事,顺便说一句 - 标签式浏览的引入意味着您经常会有多个标签,因此会同时打开多个网址。如果操作系统知道&#34; URL&#34;对于webbrowser来说,标签浏览会遇到重大问题。

一个好主意是将网络浏览器中的URL与游戏中的当前分数进行比较。从概念上讲,两者都是简单的变量,但操作系统也没有尝试跟踪游戏分数。

你当然可以为每种类型的webbrowser实现这样的东西,但它需要工作。