Artigo .net Magazine 37 - Listando as janelas abertas e mostrando um preview

Este artigo mostrará como listar as janelas abertas, criando uma classe que permite obter essas informações. Essa lista será colocada num ListBox.

Clique aqui para ler esse artigo em PDF.

Clique aqui para ler todos os artigos desta edição

Listando as janelas abertas e mostrando um preview

Este artigo discute

Este artigo usa as seguintes tecnologias

·API do Windows;

·Fazendo chamadas a APIs do Windows;

·Obtendo a lista de janelas abertas.

Visual Studio 2005 e C#.

 

Quando desenvolvemos nossos programas, algumas vezes queremos saber quais janelas estão abertas, além de informações sobre elas, como: título, tamanho ou mesmo seu conteúdo.

Este artigo mostrará como listar as janelas abertas, criando uma classe que permite obter essas informações. Essa lista será colocada num ListBox e, quando uma janela for selecionada, será mostrada a visualização do seu conteúdo numa imagem.

 

Listando as janelas abertas

Para listar as janelas abertas, usamos a função da API do Windows EnumWindows. Essa função recebe dois parâmetros, uma função de enumeração e um inteiro:

 

[DllImport("user32.dll")]

private static extern int EnumWindows(

  EnumWindowsProc EnumProc, int lParam);

 

EnumProc é um Callback que será chamado para cada janela principal do sistema. Aqui devemos processar a janela encontrada, adicionando-a, por exemplo, em uma lista. Criaremos uma classe Janela para guardar as informações das janelas abertas. A lista com as janelas será armazenada em outra classe chamada ListaJanelas.

No Visual Studio 2005, crie um novo projeto do tipo Windows Application, chamando-o de “MostraJanelas” (Figura 1).

 

" [...] continue lendo...

Artigos relacionados