Aplicação ativa.
Bom dia.... caro amigos.
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 ?
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
Curtidas 0
Respostas
Adriano Santos
03/08/2005
Função que pega a tela atual
Coloque isso no onTimer do TTimer
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
Alexandre_sbo
03/08/2005
cara vlw deu certo..mas é facil ao inves de pegar o titulo pega o nome
do executavel ?
do executavel ?
GOSTEI 0
Adriano Santos
03/08/2005
Puts cara, ai você complica a vida do programador, rs...
Tô pesquisando aqui, mas não sei se é possível.
Tô pesquisando aqui, mas não sei se é possível.
GOSTEI 0
Mordred
03/08/2005
WindowOld? Que variável é essa? Tá dando ´undeclared identifier´ aqui... tô boiando... :P
GOSTEI 0
Adriano Santos
03/08/2005
WindowOld? Que variável é essa? Tá dando ´undeclared identifier´ aqui... tô boiando... :P
Oi, declare uma função do tipo String na seção public;
...
{ Private declarations }
public
WindowOld: string;
{ Public declarations }
end;
...
GOSTEI 0
Michael
03/08/2005
Vou mostrar o caminho das pedras, pq agora não posso escrever muito...
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
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