Você está aqui: C++ ::: Win32 API (Windows API) ::: Formulários e Janelas |
||||
Usando a função EnumWindows() da API do Windows para retornar uma lista das janelas visíveisQuantidade de visualizações: 8121 vezes |
||||
A função EnumWindows() é usada quando precisamos obter uma lista de todas as janelas de nível alto (top-level) visíveis na tela (ainda que minimizadas ou sobrepostas pelas janelas de outros programas). Esta função opera juntamente com uma função de CALLBACK EnumWindowsProc() que deve ser fornecida por nossos programas C++. Veja o protótipo da função EnumWindows():
Veja que o primeiro parâmetro da função é um ponteiro para a função de callback definida em nossa própria aplicação. Esta função de callback é chamada uma vez para cada janela encontrada. O segundo parâmetro é um valor a ser fornecido também por nossa aplicação. Geralmente fornecemos o valor 0 para este parâmetro. Veja agora o protótipo da função de callback EnumWindowsProc():
Esta função de callback possui dois parâmetros. O primeiro (hwnd) guarda o handle para a janela encontrada na iteração atual. O segundo parâmetro (lParam) é o valor fornecido à função EnumWindows() no momento de sua chamada. Para continuar e exibir os dados da próxima janela, a função de callback deve retornar TRUE. Para interromper a listagem, basta retornar o valor FALSE. Veja um programa no qual listamos todas as janelas visíveis na tela, incluindo seu handle, id do processo, título e caminho e nome do executável:
Note que alguns programadores C/C++ fornecem o valor NULL como segundo argumento para uma chamada à EnumWindows(). No Dev-C++ 4.9, teremos uma mensagem de advertência se fizermos isso. Veja:
|
||||
![]() |
||||
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
C# - Como retornar a quantidade de itens em uma ListBox do C# Windows Forms usando a propriedade Count |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |