Keylogger
21/09/2004
0
1) Como oculto completamente a aplicação? (sem inclusive aquela ´piscada´ na barra de tarefas)
2) Como retorno o nome da aplicação ou da janela que está sendo logada? Para filtrar determinados programas.
3) Como envio, de forma simples, o arquivo gerado por e-mail?
Pessoal, sei que já existem várias questões sobre esse assunto, mas todas ela bem picadas ou incompletas...
Preciso monitorar determinados usuários do meu sistema...
Agradeço quem puder ajudar!
Wander Waldemorte
Posts
21/09/2004
Nildo
Se você precisa monitorar determinados usuários do SEU sistema, para que a necessidade em saber de qual aplicação veio a tecla pressionada?
[quote:2761977626=´Walter Neves Moll Neto´]
1) Como oculto completamente a aplicação? (sem inclusive aquela ´piscada´ na barra de tarefas)
[/quote:2761977626]
Antes das criações dos forms no seu DPR, você utiliza o comando:
Application.ShowMainForm := False;
Isso evita que seu form seja mostrado ou aquela piscada na barra de tarefas. Quanto à não aparecer no CTRL+ALT+DEL você tem que registrar sua aplicação como sendo um serviço do Windows, mas isso se for no Windows 98. De uma pesquisada no Google que você acha coisas interessantes.
[quote:2761977626=´Walter Neves Moll Neto´]
2) Como retorno o nome da aplicação ou da janela que está sendo logada? Para filtrar determinados programas.
[/quote:2761977626]
Se sua DLL for injetada em todos os processos, você pode enviar ao seu formulário, alem da tecla pressionada, o resultado da API GetCurrentProcessId. Mas se você estiver hookando as mensagens de Tecla Pressionada, creio eu que não seja possível. Mas você pode burlar isso pegando o Handle do Form que está em foco usando a API GetForegroundWindow. Já que se o cara pressionou uma tecla, quem recebe essa mensagem e vai processá-la é o formulário/aplicação que estiver no topo, no caso a API getForegroundWindow retorna o handle da janela que está no topo.
[quote:2761977626=´Walter Neves Moll Neto´]
3) Como envio, de forma simples, o arquivo gerado por e-mail?
[/quote:2761977626]
Pesquise aqui no fórum, esse assunto já foi abortado muitas vezes.
Ps.: Eu respondí sua mensagem levando em consideração que o uso deste aplicativo não é para uso maléfico, e sim para propósito educacional. Caso contrário, favor desconsiderar minha mensagem.
Um abraço
21/09/2004
Wander Waldemorte
Muito obrigado!
21/09/2004
Nildo
Esse handle é atribuido em tempo de execução, automaticamente pelo seu sistema operacional, e não pode ser alterado.
Você pode pegar o título da janela ativa com a seguinte função que eu fiz:
function Titulo_Janela_Ativa: PChar; var Titulo: PChar; Tamanho: Integer; janela: THandle; begin janela := GetForegroundWindow; Tamanho := GetWindowTextLength( Janela ) + 1; Titulo := PChar( AllocMem( Tamanho ) ); GetWindowText( Janela, Titulo, Tamanho ); Result := Titulo; end;
21/09/2004
Wander Waldemorte
Consegui fazer uma boa parte do que eu precisava, agora é só enfeitar, hehehe!
Qualquer coisa, posso contar com a sua juda de novo?
Brigadão! :P
Clique aqui para fazer login e interagir na Comunidade :)