ALT + PrintScreen no Delphi

Delphi

02/06/2010

Tenho que tirar um ALT + PrintScreen ao apertar um botão, e após isso salvar a imagem ou em jpg ou bmp em um diretório na máquina do user.Segue meu código, porem quando clico no botão ele salva no diretório o print anterior. não estou conseguindo limpar o Clipboard.
Código ao clicar no botão.

	Clipboard.Clear;	ImagePrint.Picture := nil;	keybd_event(VK_SNAPSHOT, 1, 0, 0);   		if Clipboard.HasFormat(CF_BITMAP) then begin    			ImagePrint.Picture.Bitmap.Assign(Clipboard);   			 ImagePrint.Picture.SaveToFile('C:\Evidencias\'+txtDW.Text+'.bmp');		end;
Caio Rodrigues

Caio Rodrigues

Curtidas 0

Respostas

Carlos Mazzi

Carlos Mazzi

02/06/2010

seria bom vc passar o codigo completo que esta no seu bota... pra testar pelo tipo de dado associado ao seu ClipBoard... tem como?
GOSTEI 0
Caio Rodrigues

Caio Rodrigues

02/06/2010

Esse é todo o código do meu botão. Eu tenho um botão apenas para tirar a Evidência da Tela.   Quando coloco o Clipboard.Clear a imagem não é salva, quando tiro é salvo o print da tela anterior.      
procedure TmainForm.btnEvidenciaClick(Sender: TObject);
begin
    //Clipboard.Clear; 
    ImagePrint.Picture := nil;
    keybd_event(VK_SNAPSHOT, 1, 0, 0);
        if Clipboard.HasFormat(CF_BITMAP) then begin
            ImagePrint.Picture.Bitmap.Assign(Clipboard);
            ImagePrint.Picture.SaveToFile('C:\Evidencias\'+txtDW.Text+'.bmp');
        end;
end;

 
GOSTEI 0
POSTAR