Como achar outras janelas com o mesmo nome ?
Utilizando o comando FindWindow obtenho ultima janela ativa conforme os parametros informados, gostaria de saber como identificar as proximas janelas do mesmo tipo.
Por exemplo, este codigo é para escrever no bloco de nostas:
Como eu faria para repetir este procedimento em 3 blocos de nota abertos? Se eu colocar mais 2 botões e repetir o codigo acima ele sempre acha a ultima janela que ficou ativa. Preciso identificar o handle da segunda e terceira janela que estão por tras da primeira, todas 3 com o mesmo nome e classe. No exemplo acima seria pra escrever nos 3 bloco de notas ao mesmo tempo. Depois de algumas pesquizas achei este comando GetNextWindow (handle, GW_HWNDNEXT) e fiz varios testes sem sucesso. Desde já grato a quem puder colaborar com seu conhecimento.
Por exemplo, este codigo é para escrever no bloco de nostas:
procedure TForm1.Button1Click(Sender: TObject);
var
JanelaPrincipal, JanelaFilha: THandle;
I: integer;
Texto: string;
begin
Texto := 'Teste';
JanelaPrincipal := FindWindow('Notepad', nil);
if JanelaPrincipal > 0 then
begin
JanelaFilha := FindWindowEx(JanelaPrincipal, 0, 'Edit', nil);
if JanelaFilha > 0 then
begin
for I := 1 to Length(Texto) do
PostMessage(JanelaFilha, WM_CHAR, Ord(Texto[I]), 0);
end;
end;
end;Como eu faria para repetir este procedimento em 3 blocos de nota abertos? Se eu colocar mais 2 botões e repetir o codigo acima ele sempre acha a ultima janela que ficou ativa. Preciso identificar o handle da segunda e terceira janela que estão por tras da primeira, todas 3 com o mesmo nome e classe. No exemplo acima seria pra escrever nos 3 bloco de notas ao mesmo tempo. Depois de algumas pesquizas achei este comando GetNextWindow (handle, GW_HWNDNEXT) e fiz varios testes sem sucesso. Desde já grato a quem puder colaborar com seu conhecimento.
Andre Santos
Curtidas 0
Respostas
Andre Santos
16/12/2013
Fiz alguns teste e uma pequena adaptação do codigo, eu do foco na janela e cliko no butão com isso ele pega o handle daquela janela, repito o procedimento nos outros 2 bloco de notas, com isso tenho os 3 handle dai num 4 butão faço os postmessage para cada janela, desta forma escrevo nos 3 bloco de notas simultaneamente, porem isso é muito pobre do ponto de vista do que podemos fazer com as api do windows e com o delphi, queria poder realizar todo esse procedimento num unico clike dum butão, quem puder colobar com seus conhecimentos fico grato desde já.
GOSTEI 0