你即将读到很多语法错误,对不起,我不是英语母语。
您好,我正在开发一个简单的软件,可以计算您在应用程序上花费的时间,一开始并不复杂,但现在他们要求我确定应用程序何时是Chrome,Firefox或IE等导航器。然后它必须确定当前正在使用哪个 URL 才能开始计算用户在所有打开的页面上浪费了多少,但我不知道如何识别是否是导航器,显然是哪个 URL 在上面。
输出示例(输出.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();
希望有人可以帮助我。谢谢!
真的没有简单的答案。"导航器"被称为网络浏览器,以帮助您进行搜索。
对于操作系统来说,它们是常规程序,没什么特别的。特别是,操作系统不知道当前显示的 URL。顺便说一句,这是一件好事 - 选项卡式浏览的引入意味着您经常有多个选项卡,因此同时打开多个 URL。如果操作系统知道网络浏览器的"URL",那么它在选项卡式浏览方面会遇到重大问题。
一个好主意是将网络浏览器中的 URL 与游戏中的当前分数进行比较。从概念上讲,两者都是简单的变量,但操作系统也不会尝试跟踪游戏分数。
您当然可以为每个类型的网络浏览器实现这样的事情,但这需要工作。