Jump to content

C# obtendo URL de qualquer navegador


Trazzi

Postagens Recomendadas

Bom dia Pessoal, tudo em paz? Estou criando uma aplicação WindowsFormsApplication em C# onde quero monitorar as URL's que estão sendo abertas em qualquer navegador que tenha no computador. Uma forma que encontrei (exemplo abaixo com Chrome) é monitorar o processo, vejam:

foreach (Process process in Process.GetProcessesByName("chrome")) { String url = GetChromeUrl(process); Int32 idProcesso = Convert.ToInt32(process.Id); if (url == null) continue; if (url != String.Empty && idProcesso > 0) splitURL(url, idProcesso); } public static String GetChromeUrl(Process process) { if (process == null) throw new ArgumentNullException("process"); if (process.MainWindowHandle == IntPtr.Zero) return null; AutomationElement element = AutomationElement.FromHandle(process.MainWindowHandle); if (element == null) return null; AutomationElementCollection edits5 = element.FindAll(TreeScope.Subtree, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit)); AutomationElement edit = edits5[0]; String vp = ((ValuePattern)edit.GetCurrentPattern(ValuePattern.Pattern)).Current.Value as String; return vp; }

Funciona? Sim.

Acontece que temos dois problemas: 1) Número de navegadores, podendo ser Chrome, Edge, Firefox, IE e outros, e com o exemplo acima eu terei que tratar um por um; 2) Atualizações, e isso acontece bastante com o Chrome, as vezes necessitando alterar o código por conta de updates que acontecem nas versões do Chrome. Os dois problemas acontecem porque eu busquei uma solução através do "processo" que está rodando e nele busco as informações de URL, porem busco e aceito outras sugestões.

Dessa forma pergunto: teria uma forma de buscar na(s) placa(s) de rede ou qualquer outra forma diferente da que já implementei de buscar a url que esta sendo acessada em qualquer navegador?

Muito obrigado a todos. 

 

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...