Fórum Detectando inicialização de aplicativos #297593

28/09/2005

0

Tem como fazer um programa que detecta a inicialização de um aplicativo e se ele estiver na lista de aplicativos proibidos, barra a execução do mesmo.

Hj eu verifico a lista de 200 milisegundos, usando um timer que vare a lista de aplicativos abertos e o fecha, so que essa programação e ´FEIA´


Grato


Fknyght

Fknyght

Responder

Posts

29/09/2005

Fknyght

Ou, andei pesquisando como identificar a execução de um aplicativo e resolvir verificar o arquivo [b:840ea66687]MESSAGES.PAS[/b:840ea66687], tipo da pra gente detectar a finalização do windows usando [b:840ea66687]WM_ENDSESSION[/b:840ea66687] e dei uma olhada nas variaveis que la tem, achei o [b:840ea66687]WM_ACTIVATEAPP[/b:840ea66687].

Fiz um programinha usando o pacote [b:840ea66687]TWMActivateApp[/b:840ea66687] da seguinte maneira

  TWMActivateApp = packed record
    Msg: Cardinal;
    Active: BOOL;
    ThreadId: Longint; //<- Atenção a esta variavel
    Result: Longint;
  end;


Declarei uma rotina de manipulação de mensagens na sessao private do form

procedure WMACTIVATEAPP(var Msg : TWMActivateApp); message WM_ACTIVATEAPP;


Adicionei a procedure à seção implementation na unit:

procedure TForm1.procedure WMACTIVATEAPP(var Msg : TWMActivateApp); 
begin
  Label1. Caption := IntToStr( Msg.ThreadId );
end; 


Testei o codigo e toda a vez que eu abria um aplicativo, o label assumia um numero qualquer.

Sera que a [b:840ea66687]ThreadId [/b:840ea66687] e a tread do aplicativo, se for, tem como descobrir o nome do executavel que o gerou, ou estou fazendo tudo errado.

Grato


Responder

Gostei + 0

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

Aceitar