Fórum Aplicação ativa. #290491
03/08/2005
0
Como faço pra saber qual aplicativo está ativo, por exemplo:
Tenho o word, bloco de notas, calculadora aberto, como sei
qual deles está com o foco, ow seja qual é o que está sendo
usado pelo usuario ?
Alexandre_sbo
Curtir tópico
+ 0Posts
03/08/2005
Adriano Santos
function ActiveCaption: string; var Handle: THandle; Len: LongInt; Title: string; begin Handle := GetForegroundWindow; Len := GetWindowTextLength(Handle) + 1; SetLength(Title, Len); GetWindowText(Handle, PChar(Title), Len); ActiveCaption := TrimRight(Title); end;
Coloque isso no onTimer do TTimer
procedure TForm1.Timer1Timer(Sender: TObject); begin if (activecaption <> windowold)and (activecaption <> ´´) then begin windowold := activecaption ; memo1.Lines.Add(timetostr(time)+´ - ´+ activecaption); end; end;
Gostei + 0
03/08/2005
Alexandre_sbo
do executavel ?
Gostei + 0
03/08/2005
Adriano Santos
Tô pesquisando aqui, mas não sei se é possível.
Gostei + 0
25/01/2006
Mordred
Gostei + 0
25/01/2006
Adriano Santos
Oi, declare uma função do tipo String na seção public;
...
{ Private declarations }
public
WindowOld: string;
{ Public declarations }
end;
...
Gostei + 0
25/01/2006
Michael
Se vc tem o Handle da janela, vc pode pegar o processo associado a ele. E se vc tem o processo, pode pegar o executável associado tbm... ;-)
Handle vc tem (GetForegroundWindow). Pesquise uma rotina de enumeração de processos ativos (existem centenas delas).
Veja esse link tbm: http://delphi.about.com/cs/adptips2002/a/bltip0802_5.htm . Ele pode ajudar.
[]´s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)