Problema com FindWindow
Fiz um macro no delphi 7 pra trabalhar em segundo plano num jogo flash, esta tudo funcionando perfeitamente até a terceira janela do jogo, quando abro a quarta janela as tres primeiras param de receber os postmessage, voltando a receber novamente ao coloca-las em primeiro plano. Eis o codigo de busca que estou usando:
jp := FindWindow(nil, 'Legend Online1');// Tambem tentei colocando a classe: jp := FindWindow('#32770', 'Legend Online1');
jf := FindWindowEx(jp, 0, 'AtlAxWinLic100', nil);
jff := FindWindowEx(jf, 0, 'MacromediaFlashPlayerActiveX', nil);
Eis o codigo da mensagem:
begin
PostMessage(jff, WM_KEYdown, 49, 0);
PostMessage(jff, WM_KEYUP, 49, 0);
end;
OBS: Utilizo a busca das 3 janelas no clike do botão, e as mensagem para as 3 janelas estão num timer ativado pelo por este botão, renomeio com outro programa cada janela acrescentendo o numero de janelas aberta, Legend Online1 , Legend Online2 etc... Conforme dito funciona perfeitamente com apenas as 3 janelas aberta, porem ao abrir uma quarta janela (seja de qualquer programa até mesmo o explore) as 3 janelas param de receber as mensagens e voltam a rebecer novamente se eu coloca alguma delas em primeiro plano. Gostaria de saber porque isso esta acontecendo pois deveria continuar trabalhando mesmo minimizado com quantas janelas abertas que fossem. Grato desde já à quem puder ajudar.
jp := FindWindow(nil, 'Legend Online1');// Tambem tentei colocando a classe: jp := FindWindow('#32770', 'Legend Online1');
jf := FindWindowEx(jp, 0, 'AtlAxWinLic100', nil);
jff := FindWindowEx(jf, 0, 'MacromediaFlashPlayerActiveX', nil);
Eis o codigo da mensagem:
begin
PostMessage(jff, WM_KEYdown, 49, 0);
PostMessage(jff, WM_KEYUP, 49, 0);
end;
OBS: Utilizo a busca das 3 janelas no clike do botão, e as mensagem para as 3 janelas estão num timer ativado pelo por este botão, renomeio com outro programa cada janela acrescentendo o numero de janelas aberta, Legend Online1 , Legend Online2 etc... Conforme dito funciona perfeitamente com apenas as 3 janelas aberta, porem ao abrir uma quarta janela (seja de qualquer programa até mesmo o explore) as 3 janelas param de receber as mensagens e voltam a rebecer novamente se eu coloca alguma delas em primeiro plano. Gostaria de saber porque isso esta acontecendo pois deveria continuar trabalhando mesmo minimizado com quantas janelas abertas que fossem. Grato desde já à quem puder ajudar.
Andre Santos
Curtidas 0
Respostas
Vitor Monteiro
07/12/2013
Ola amigo me add no Skype Vitor Monteiro sou programador e mexe em Legend Online tbm ^^
GOSTEI 0
Andre Santos
07/12/2013
Fiz alguns testes e descobri que o FindWindowsEx é quem esta causando o problema, ele não funciona se a janela estiver minimizada ou houver uma outra janela em modo full screen. Alguem saber dizer por que isso esta acontecendo ?? Lembrando que tenho que acessar uma janela que esta dendo de uma janela dentro da jenela principal.
GOSTEI 0
Andre Santos
07/12/2013
Apos a busca colocando o codigo ele passa a achar a janela mesmo estando minimizada, existe uma outra função para achar janela filha estando inativa ? Precisarei achar 3 janelas sequencialmente na mesma função, sera que o setfocus num trará nenhum problema em termos de desempenho(travamento) não ?
PostMessage (jp, WM_SETFOCUS, 0, 0);
GOSTEI 0