Fórum Capturar Caption #184413
26/09/2003
0
Ae galera, blz?
Como eu faço pra capturar o caption de uma janela q esta sendo aberta?
Por exemplo do Internet Explorer ou ICQ?
Vlw!!
Como eu faço pra capturar o caption de uma janela q esta sendo aberta?
Por exemplo do Internet Explorer ou ICQ?
Vlw!!
Skaarj
Curtir tópico
+ 0
Responder
Posts
26/09/2003
Rodrigo_rcp
596 - Exemplo de como pegar o nome de um objeto ou janela
Faça um teste com isso. Coloque um Timer, umLabel, dois Edit e um Button.
No OnTimer coloque:
var
p: TPoint;
i: THandle;
begin
GetCursorPos ( p );
i := WindowFromPoint ( p );
Label1.caption := intToStr ( i );
end;
No OnClick do botão coloque
var
i, x: integer;
s: array [ 0..2047 ] of char;
begin
i := strToInt ( Edit1.text );
GetWindowText ( i, s, x );
Edit2.text := s;
end;
Para isso, crie um formulário pequeno e deixe-o em uma região discreta e passe o mouse sobre os ´componentes´ da calculadora. Vc verá o caption do label se modificar com o Handle do window sob o mouse. Para obter o texto, use esse handle no primeiro edit 1 clique no Botão para pegar o texto e trazê-lo para o edit2.
http://www.lloydsoft.hpg.ig.com.br/
Responder
Gostei + 0
26/09/2003
Rodrigo_rcp
ou
[b:19efa1e5e1]carnette[/b:19efa1e5e1]
[b:19efa1e5e1]carnette[/b:19efa1e5e1]
Que tal dar um estudada neste exemplo....Já é um bom começo
Para listar (pegar) todas janelas abertas, deve-se usar a funcao da API EnumWindows, que usa uma funcao Callback, com dois parametros, um Handle para a janela e um ponteiro. Voce pode usá-la com um códi-go semelhante a este (Este lista as janelas abertas, mesmo invisí-veis, em uma listbox):
function EnumWindowsProc(Wnd : HWnd;Form : TForm1) : Boolean; Export; {$ifdef Win32} StdCall; {$endif}
var
Buffer : Array[0..99] of char;
begin
GetWindowText(Wnd,Buffer,100);
if StrLen(Buffer) <> 0 then
Form.ListBox1.Items.Add(StrPas(Buffer));
Result := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumWindows(@EnumWindowsProc,LongInt(Self));
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)