你将要阅读许多语法错误,抱歉,我不是英语母语。
您好,我正在开发一个简单的软件来计算您在应用程序上花费的时间,在开始时并不复杂,但现在他们要求我确定应用程序何时是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();
希望有些人可以帮助我。谢谢!
答案 0 :(得分:0)
真的没有简单的答案。 &#34;导航仪&#34;被称为网络浏览器,以帮助您搜索。
对于操作系统,它们是常规程序,没什么特别的。特别是,操作系统不知道当前显示的URL。这是一件好事,顺便说一句 - 标签式浏览的引入意味着您经常会有多个标签,因此会同时打开多个网址。如果操作系统知道&#34; URL&#34;对于webbrowser来说,标签浏览会遇到重大问题。
一个好主意是将网络浏览器中的URL与游戏中的当前分数进行比较。从概念上讲,两者都是简单的变量,但操作系统也没有尝试跟踪游戏分数。
你当然可以为每种类型的webbrowser实现这样的东西,但它需要工作。