Fórum Problemas com quot;hWndquot; #367990
28/01/2009
0
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
Curtir tópico
+ 0Posts
28/01/2009
Woinch
Gostei + 0
28/01/2009
Onjahyr
Gostei + 0
29/01/2009
Onjahyr
http://www.onjahyr.com.br/
Qualquer ajuda é bem-vinda.
Gostei + 0
29/01/2009
Woinch
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
29/01/2009
Onjahyr
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
29/01/2009
Onjahyr
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
29/01/2009
Woinch
Obrigado pelas informações...
Faz muita falta uma edição mesmo! Pena que 90¬ das pessoas não sabem usar! =/
Abraços!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)