Capturando a tela
[b:50a53453d0]Blz Galera[/b:50a53453d0]
Pessoal, estou criando um Keylogger e nesse Keylogger ele esta capturando somente o que a pessoa escreve, eu gostaria tambem de que o programa capturasse as imagens das telas que a pessoa entra, ou seja tipo um Print Screen a cada 30 segundos, mas eu não sei quais componentes exatamente eu devo usar e nem como programar para isso acontecer.
Porfavor, postem tudo que voces soberem e se caso aguem quiser que eu envie o que eu fiz ate agora eu mando. :wink:
[i:50a53453d0]Postem banstante pessoal, tudo que vcs soberem!!![/i:50a53453d0]
Pessoal, estou criando um Keylogger e nesse Keylogger ele esta capturando somente o que a pessoa escreve, eu gostaria tambem de que o programa capturasse as imagens das telas que a pessoa entra, ou seja tipo um Print Screen a cada 30 segundos, mas eu não sei quais componentes exatamente eu devo usar e nem como programar para isso acontecer.
Porfavor, postem tudo que voces soberem e se caso aguem quiser que eu envie o que eu fiz ate agora eu mando. :wink:
[i:50a53453d0]Postem banstante pessoal, tudo que vcs soberem!!![/i:50a53453d0]
Marvel
Curtidas 0
Respostas
Felipeucc
08/01/2008
e aí colega.... manda esse projeto pra eu dar um olhadinha nele.
felipeucc@gmail.com
Valeu.
felipeucc@gmail.com
Valeu.
GOSTEI 0
Webjoel
08/01/2008
procedure TForm1.CapturarTela;
var
bmp : TBitmap;
jpeg : TJPEGImage;
dia,mes,ano,hora,min,seg, mseg : word;
begin
bmp := TBitmap.Create;
Clipboard.Clear;
keybd_event(vk_snapshot,0, 0, 0);
Application.ProcessMessages;
bmp.LoadFromClipboardFormat(CF_BITMAP,clipboard.GetAsHandle(CF_BITMAP),0);
jpeg := TJPEGImage.Create;
jpeg.Assign(bmp);
DecodeDate(now,ano,mes,dia);
DecodeTime(now,hora,min,seg,mseg);
jpeg.SaveToFile(ExtractFilePath(Application.ExeName) + inttostr(dia) + ´.´ + inttostr(mes) + ´.´ + inttostr(ano) + ´.´ + inttostr(hora) + ´.´ + inttostr(min) + ´.´ + inttostr(seg) + ´.jpg´);
jpeg.Free;
bmp.Free;
end;
>> modo de usar
declare nos Uses: ClipBrd, Jpeg;
É só colocar esta procedure dentro de um OnTimer!
var
bmp : TBitmap;
jpeg : TJPEGImage;
dia,mes,ano,hora,min,seg, mseg : word;
begin
bmp := TBitmap.Create;
Clipboard.Clear;
keybd_event(vk_snapshot,0, 0, 0);
Application.ProcessMessages;
bmp.LoadFromClipboardFormat(CF_BITMAP,clipboard.GetAsHandle(CF_BITMAP),0);
jpeg := TJPEGImage.Create;
jpeg.Assign(bmp);
DecodeDate(now,ano,mes,dia);
DecodeTime(now,hora,min,seg,mseg);
jpeg.SaveToFile(ExtractFilePath(Application.ExeName) + inttostr(dia) + ´.´ + inttostr(mes) + ´.´ + inttostr(ano) + ´.´ + inttostr(hora) + ´.´ + inttostr(min) + ´.´ + inttostr(seg) + ´.jpg´);
jpeg.Free;
bmp.Free;
end;
>> modo de usar
declare nos Uses: ClipBrd, Jpeg;
É só colocar esta procedure dentro de um OnTimer!
GOSTEI 0
Marvel
08/01/2008
O valeu cara ajudou bastante mesmo a pegar a noção, so que o que eu realmente precisava é que ele ja deixa-se a imagem no form, ou seja em vez dele ir enviando um arquivo de imagem para alguma pasta ele iria colocando na propria tela a imagem.
se voce souber posta ai
se voce souber posta ai
GOSTEI 0
Webjoel
08/01/2008
Amigo, neste caso então em vez de vc gravar em uma pasta a imagem use o componente TImage da paleta Additional nativo no delphi.
Agora tudo depense de como vc quer que apareça essa imagem da tela, se fopr em outro computador vc tera que gravar em algum local e fazer o sistema ir buscar a imagem de acordo com o seu timer.
Agora tudo depense de como vc quer que apareça essa imagem da tela, se fopr em outro computador vc tera que gravar em algum local e fazer o sistema ir buscar a imagem de acordo com o seu timer.
GOSTEI 0