Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

waldyhester

Meu chefe é F***! não estou conseguindo.

Recommended Posts

olá galera eu sou programador de C, estou precisando de uma ajuda pois meu chefe quer fiscalizar o que os funcionários estão fazendo, com um programa feito em delphi, quer dizer. Ele quer que eu acrescente + uma funcionalidade ao programa da empresa. até ai tudo bem, mas a funcionalidade que ele pediu achei que seria fácil de achar na internet, mas não consegui achar. e as que achei não funciona ou não está completa etc...Ele quer que o programa de um PrintScreen a cada 10 mim e mande para ele via e-mail para ele... O meu problema é que eu não sei nem como posso fazer isso (PrintSceen) na máquina local, enviar e ativar no tempo determinado tudo bem.waldyhester@gmail.comwalirrester@gmail.comHotmail - MSN Messengerwaldyhester@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem como obter o DC da tela(GetDC(0)) e copiar para um bitmap seu com BitBlt. Ou ainda chamar Keybd_event(VK_PRINTSCREEN, 0, 0, 0) e depois carregar da área de transferência. Este último nunca testei, mas pode funcionar tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É relativamente simples, coloque um timer no seu form e o intervalo dele para 10 minutos, depois simuleo pressionamento da tecla Print Screen e salve o arquivo.o código:

uses clipbrd, jpeg;{$R *.DFM}procedure TForm1.Timer1Timer(Sender: TObject);var  tela: tbitmap;  jpg: TJpegImage;begin  keybd_event(vk_snapshot,0, 0, 0);  sleep(1500);  tela := TBitmap.Create;  tela.LoadFromClipboardFormat(CF_BITMAP,clipboard.GetAsHandle(CF_BITMAP),0);  jpg := TJPEGImage.Create;  jpg.Assign(tela);  inc(cont);  jpg.SaveToFile('./teste'+inttostr(cont)+'.jpg');end;

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

antiético e pouco profissional o modo como seu chefe controla produtividade.

 

deve ter sido capitão do mato em outra encarnação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque o seu chefe não usa o VNC ?Ele instala o VNC server em todas as máquinas e pode a qualquer momento espionar vcs a vontade... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei o código utíl todavia porém na minha máquina D5 não funcionou , o keybd_event(vk_snapshot,0, 0, 0) não capturou a tela , se eu teclo a print-screen na mão funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo com o Dopi! use o VNC e problema resolvido!Uso o VNC há anos aqui na minha empresa e é muito bom!Assim você tornará o CAPITÃO DO MATO (essa é boa) feliz!Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei o código utíl todavia porém na minha máquina D5 não funcionou , o keybd_event(vk_snapshot,0, 0, 0) não capturou a tela , se eu teclo a print-screen na mão funciona.

Colega,Apesar de estar exatamente como no Help, também não funcionou aqui. Fiz a seguinte alteração:
 keybd_event(VK_SNAPSHOT, 1, 0, 0);  if ClipBoard.HasFormat(CF_Bitmap) then  Tela.Assign(ClipBoard);//  tela.LoadFromClipboardFormat(cf_bitmap,clipboard.GetAsHandle(cf_bitmap),0);

Compartilhar este post


Link para o post
Compartilhar em outros sites

keybd_event(vk_snapshot,1,0,0); Captura Full Screenekeybd_event(vk_snapshot,0,0,0); como coloquei no exemplo captura só a janela ativa. Pra economizar no tamanho Jpeg.

Compartilhar este post


Link para o post
Compartilhar em outros sites

keybd_event(vk_snapshot,1,0,0); Captura Full Screenekeybd_event(vk_snapshot,0,0,0); como coloquei no exemplo captura só a janela ativa. Pra economizar no tamanho Jpeg.

Colega,A idéia de capturar full screen foi justamente para permitir que o "capitão do mato" possa realmente ver tudo o que está na tela. Mas o problema que apresentou aqui, apesar de constar da mesma forma no help foi na linha que eu comentei acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o keybd_event não funciona , mas o manual fala que a chamada é extamente assim, tentei aumentar o delay , mas tb nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o keybd_event não funciona , mas o manual fala que a chamada é extamente assim, tentei aumentar o delay , mas tb nada.

Estranho. Tente dar um delay maior, (2 segundos) ou teste se sua printscreen funciona realmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

fazendo o printscreen na mão ele carrega o clipboard, parece ser realmente o tempo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com um

Application.ProcessMessages;

 

Funcionou.

 

Meio tosco ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.