Como capturar o nome da janela do indivíduo.

Delphi

15/04/2006

gostaria de saber como que eu ´pego´ o nome da janela do computador, via codigo Delphi...

por exemplo o nome dessa janela aki é ´Fórum DevMedia :: Novo Tópico´...

eu ja vi um codigo que utiliza isso mas nao consegui entender ele...

se alguem puder me dar um toque.


Anovat

Anovat

Curtidas 0

Respostas

Martins

Martins

15/04/2006

gostaria de saber como que eu ´pego´ o nome da janela do computador, via codigo Delphi... por exemplo o nome dessa janela aki é ´Fórum DevMedia :: Novo Tópico´... eu ja vi um codigo que utiliza isso mas nao consegui entender ele... se alguem puder me dar um toque.


Colega, não sei se vc já encontrou uma solução para o problema descrito acima, mas, para conseguir pegar o caption de uma janela ou objeto vc precisa do [b:f395e45553]Handle[/b:f395e45553] do mesmo, segue abaixo um exemplo q vc poderá adequar as suas necessidades.

vamo colocar.
2 - Edit´s - Paleta Standard
1 - Button - Paleta Standard
1 - Timer - Paleta System

vamos aos códigos.

No OnTimer inclua o seguinte código.

var
  p: TPoint;
  i: THandle;
begin
  GetCursorPos ( p );
  i := WindowFromPoint ( p );
  Edit1.Text := IntToStr( i );
  Button1.Click;
end;

O código acima vai pegar o handle dos objetos/janelas em que o mouse estiver posicionado. Disparando também o evento OnClick do Button.

Vejamos agora o código do evento OnClick do Button

var
  i, x: integer;
  s: array [ 0..2047 ] of char;
begin
  i := strToInt ( Edit1.text );
  GetWindowText ( i, s, x );
  Edit2.text := s;
end;


O Código acima pega o captiondo objeto / janela, uma vez q o parametro i recebe o handle do objeto / janela retornando no parametro s o caption.


Boa sorte nos seus códigos.


GOSTEI 0
Rodc

Rodc

15/04/2006

Implementei o código acima, mas ele não funciona para quando o objeto que quero pegar está desabilitado. Alguém tem alguma idéia?


GOSTEI 0
POSTAR