Você está aqui: Delphi ::: Win32 API (Windows API) ::: Formulários e Janelas |
Como listar todas as janelas ativas do Internet Explorer (IE)Quantidade de visualizações: 11979 vezes |
As janelas de alto-nível abertas podem ser listadas por meio da função EnumWindows() da API do Windows. Nesta dica eu mostro como usá-la para listar todas as janelas do Internet Explorer abertas e exibir o handle da janela e seu título. Note que, se a janela possuir mais de uma aba (guia), apenas a aba ativa será listada. Este código foi escrito no Delphi 2009 e testado no Windows XP e IE 8. Veja a listagem: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- // vamos listar todas as janelas do IE abertas no momento // Exemplo testado no IE 8, Delphi 2009 e Windows XP // Note que o exemplo listará apenas as janelas cujas guias estão // ativas. Veja minhas outras dicas sobre como obter cada guia // individualmente function ListarJanelasIE(Wnd: HWND; memo: TMemo): BOOL; stdcall; const MyMaxName = 256; MyMaxText = 256; var ClassName: string; WindowText: string; begin // vamos obter o nome de classe da janela SetLength(ClassName, MyMaxName); SetLength(ClassName, GetClassName(Wnd, PChar(ClassName), MyMaxName)); // no IE 8 o nome de classe da janela principal é IEFrame if ClassName = 'IEFrame' then begin // vamos obter o título da janela SetLength(WindowText, MyMaxText); SetLength(WindowText, SendMessage(Wnd, WM_GETTEXT, MyMaxText, lParam(PChar(WindowText)))); memo.Lines.Add('Handle: ' + IntToStr(Wnd) + '; Título: ' + WindowText); end; // vamos passar para a próxima janela Result := True; end; procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Clear; EnumWindows(@ListarJanelasIE, lParam(Memo1)); end; É possível, por meio do handle da janela principal, navegar até cada uma das abas abertas e manipulá-las individualmente. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |