Fórum Aplicação ativa. #290491

03/08/2005

0

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 ?


Alexandre_sbo

Alexandre_sbo

Responder

Posts

03/08/2005

Adriano Santos

Função que pega a tela atual

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;



Responder

Gostei + 0

03/08/2005

Alexandre_sbo

cara vlw deu certo..mas é facil ao inves de pegar o titulo pega o nome
do executavel ?


Responder

Gostei + 0

03/08/2005

Adriano Santos

Puts cara, ai você complica a vida do programador, rs...
Tô pesquisando aqui, mas não sei se é possível.


Responder

Gostei + 0

25/01/2006

Mordred

WindowOld? Que variável é essa? Tá dando ´undeclared identifier´ aqui... tô boiando... :P


Responder

Gostei + 0

25/01/2006

Adriano Santos

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;
...



Responder

Gostei + 0

25/01/2006

Michael

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar