Problemas com quot;hWndquot;
E aí pessoal....
Seguinte, estou com problemas para capturar a Handle.
Utilizo um programa para capturar a classe, e o caption do componente, quando o componente é um TButton funciona beleza, mas o componente em questão é um TRadioButton. O programa diz que é um TRadioButton, mas quando vou utilizar dessa forma:
Esta Handle vou utilizar num SendMessage()
Agradeço quem puder me dizer algo, já procurei no google e não encontrei nada que me falasse sobre isso, estou usando o Delphi 7, será BUG?
Seguinte, estou com problemas para capturar a Handle.
Utilizo um programa para capturar a classe, e o caption do componente, quando o componente é um TButton funciona beleza, mas o componente em questão é um TRadioButton. O programa diz que é um TRadioButton, mas quando vou utilizar dessa forma:
var
hh, hm : hWnd;
begin
hh := FindWindow(nil,´Caption do Form´);
if hh <> 0 then
showmessage(´hh ok´); // Aqui passa, claro!
hm := FindWindowEx(hh,0,´TRadioButton´,´Eu &aceito os termos do Contrato´);
{ O "&" acima, colocando ou não, não funciona de jeito nenhum }
if hm <> 0 then
showmessage(´hm ok´); // NÃO MOSTRA A MENSAGEM :(
{ Não encontrol, quando procuro por TButton ele encontra, não sei mais como fazer, já tentei de tudo, já testei dois programas que captura o caption do componente e a classe, e todos dizem a mesma coisa "TRadioButton" }
end;
Esta Handle vou utilizar num SendMessage()
Agradeço quem puder me dizer algo, já procurei no google e não encontrei nada que me falasse sobre isso, estou usando o Delphi 7, será BUG?
Onjahyr
Curtidas 0
Respostas
Woinch
28/01/2009
Acabei de fazer uma aplicação com esse mesmo código que você postou aqui e funcionou perfeitamente.
GOSTEI 0
Onjahyr
28/01/2009
Eu sei que funciona, eu também fiz uma experiência aqui... O problema se trata de capturar da praga do programa, eu capturo que ele é um TRadioButton, e quando vou tentar acionar ele ele não encontra, vou tentar burlar de outra maneira....
GOSTEI 0
Onjahyr
28/01/2009
Vejam o que realmente está ocorrendo (tem uma figura também):
http://www.onjahyr.com.br/
Qualquer ajuda é bem-vinda.
http://www.onjahyr.com.br/
Qualquer ajuda é bem-vinda.
GOSTEI 0
Woinch
28/01/2009
Estranho funcionar com alguns componentes e não funcionar com os demais. Esses comandos utilizam a API do Windows. Difícil ser um bug. Esse executável ´Biblia hábil´ foi você quem criou ou ele não é de sua autoria?
Vou levantar algumas questões que podem ajudar a solucionar o problema:
- Em que linguagem esse executável é?
- Será que a classe do componente se chama realmente TRadioButton?
- Será que o caractere que representa o sublinhado é mesmo o & como no Delphi?
- Não há algum caractere de espaço antes e/ou depois no caption?
- Será que não dá pra usar aqueles programas utilizados por crackers para visualizar o código Hexadecimal ou em Assembly do executável para localizar corretamente a o caption desse TRadioButton?
Espero ter ajudado...
Vou levantar algumas questões que podem ajudar a solucionar o problema:
- Em que linguagem esse executável é?
- Será que a classe do componente se chama realmente TRadioButton?
- Será que o caractere que representa o sublinhado é mesmo o & como no Delphi?
- Não há algum caractere de espaço antes e/ou depois no caption?
- Será que não dá pra usar aqueles programas utilizados por crackers para visualizar o código Hexadecimal ou em Assembly do executável para localizar corretamente a o caption desse TRadioButton?
Espero ter ajudado...
GOSTEI 0
Onjahyr
28/01/2009
Respondendo:
Não, o Bíblia Hábil não é meu não;
1.) Não sei em que linguagem foi feito;
2.) Chama-se TNewRadioButton, mas no código ele muda para TRadioButton (não me pergunte por que :) );
3.) Tem que ter o ´&´ junto senão não funciona;
4.) Se tiver o programa de captura também coloca e aí ficamos sabendo;
5.) De vez em quando uso, mas nem pensei nisso agora;
:lol: [b:19eb34ce0e]Consegui.......[/b:19eb34ce0e]
Seguinte, era como eu estava imaginando mesmo, havia objetos por baixo do TRadioButton, os programas de captura (que quando passa o mouse por cima mostra a classe e o caption não mostrava o que havia embaixo, mesmo deslocando o mouse para fora aos poucos).
Ex.:
Coloque um TPageControl, crie uma nova página e dentro dele coloque um TRadioButton e vai ver que não vai conseguir acessar o TRadioButton, tem que pegar primeiro a Handle do TPageControl, da página criada e em seguida o do TRadioButton, é algo como seguindo os níveis...
A sorte é que instalei o InnoSetup aqui no Delphi7 (só foi desenvolvido para até a versão Delphi 6, mas no readme.txt mostra como instalar no Delphi7), senão não conseguiria descobrir estes detalhes. Tudo por causa que o InnoSetup é aberto, e se for desenvolvido por outro instalador? vai ser difícil saber que há no nível abaixo do componente que se quer acessar...
Até...
Não, o Bíblia Hábil não é meu não;
1.) Não sei em que linguagem foi feito;
2.) Chama-se TNewRadioButton, mas no código ele muda para TRadioButton (não me pergunte por que :) );
3.) Tem que ter o ´&´ junto senão não funciona;
4.) Se tiver o programa de captura também coloca e aí ficamos sabendo;
5.) De vez em quando uso, mas nem pensei nisso agora;
:lol: [b:19eb34ce0e]Consegui.......[/b:19eb34ce0e]
Seguinte, era como eu estava imaginando mesmo, havia objetos por baixo do TRadioButton, os programas de captura (que quando passa o mouse por cima mostra a classe e o caption não mostrava o que havia embaixo, mesmo deslocando o mouse para fora aos poucos).
Ex.:
Coloque um TPageControl, crie uma nova página e dentro dele coloque um TRadioButton e vai ver que não vai conseguir acessar o TRadioButton, tem que pegar primeiro a Handle do TPageControl, da página criada e em seguida o do TRadioButton, é algo como seguindo os níveis...
A sorte é que instalei o InnoSetup aqui no Delphi7 (só foi desenvolvido para até a versão Delphi 6, mas no readme.txt mostra como instalar no Delphi7), senão não conseguiria descobrir estes detalhes. Tudo por causa que o InnoSetup é aberto, e se for desenvolvido por outro instalador? vai ser difícil saber que há no nível abaixo do componente que se quer acessar...
Até...
GOSTEI 0
Onjahyr
28/01/2009
[b:03cdcda822]CORRIGINDO[/b:03cdcda822]
Uma coisa ruim daqui do fórum é que não se consegue editar o texto, faltou a vírgula e uma palavra:
4.) Se tiver[b:03cdcda822],[/b:03cdcda822] o programa de captura também [b:03cdcda822]mostra[/b:03cdcda822] e aí [b:03cdcda822]saberemos[/b:03cdcda822];
Seguinte, era como eu estava imaginando mesmo, havia objetos por baixo do TRadioButton, os programas de captura (que quando passa o mouse por cima mostra a classe e o caption[b:03cdcda822], mas[/b:03cdcda822] não [b:03cdcda822]mostra[/b:03cdcda822] o que [b:03cdcda822]há[/b:03cdcda822] embaixo, mesmo deslocando o mouse para fora aos poucos).
só isso...
Uma coisa ruim daqui do fórum é que não se consegue editar o texto, faltou a vírgula e uma palavra:
4.) Se tiver[b:03cdcda822],[/b:03cdcda822] o programa de captura também [b:03cdcda822]mostra[/b:03cdcda822] e aí [b:03cdcda822]saberemos[/b:03cdcda822];
Seguinte, era como eu estava imaginando mesmo, havia objetos por baixo do TRadioButton, os programas de captura (que quando passa o mouse por cima mostra a classe e o caption[b:03cdcda822], mas[/b:03cdcda822] não [b:03cdcda822]mostra[/b:03cdcda822] o que [b:03cdcda822]há[/b:03cdcda822] embaixo, mesmo deslocando o mouse para fora aos poucos).
só isso...
GOSTEI 0
Woinch
28/01/2009
Que bom que conseguiu.
Obrigado pelas informações...
Faz muita falta uma edição mesmo! Pena que 90¬ das pessoas não sabem usar! =/
Abraços!
Obrigado pelas informações...
Faz muita falta uma edição mesmo! Pena que 90¬ das pessoas não sabem usar! =/
Abraços!
GOSTEI 0