Fórum Capturar o texto selecionado em outras janelas #294740
07/09/2005
0
Sabe aquele programa que você passa o mouse sobre um campo senha e ele exibe o conteúdo da caixa de texto?
Pois eu preciso de um tipo esse. No entanto, eu preciso é capturar o texto selecionado na janela ativa.
O usuário, no Word ou no IE, por exemplo, seleciona uma palavra e aperta uma tecla (Ctrl+K) e o meu programa deve exibir uma janela com a palavra selecionada.
O que eu quis dizer sobre as mensagens é as mensagens do Windows (sendmessage).
Talvez usar a função HWin:= GetActiveWindow;
Segue a função que captura o conteúdo dos campos de senha quando se passa o mouse sobre ele:
procedure TForm1.Timer1Timer(Sender: TObject);
//Variável que irá receber a posição do cursor do mouse
var Pos: TPoint;
//Variável que irá receber a senha oculta
Paswd: array[0..63] of Char;
HWin :HWND;
begin
//Pega a posição do cursor na tela
GetCursorPos(Pos);
//Pega o Handle da Janela sobre a qual o cursor está localizado
HWin := WindowFromPoint(Pos);
if SendMessage(HWin, EM_GETPASSWORDCHAR, 0, 0) <> 0 then
//Verifica se há senha oculta
begin
//Descobre a senha oculta
SendMessage(HWin, WM_GETTEXT, 64, Longint(@Paswd));
//Mostra a senha no Editbox
edit1.Text:=Paswd;
end;
Zci
Curtir tópico
+ 0Posts
07/09/2005
Zci
Gostei + 0
08/09/2005
Zci
Gostei + 0
08/09/2005
Zci
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)