简体   繁体   中英

ScreenCapture on Windows 8 with dwm and aero

I have on remote assistence app coded in Delphi, and I need to take one screenshot of the whole screen without show my active form... If I set the AlphaBlend := true then when I take de screenshot the form hides sucessfully, but only if the aero is disabled, I want do know if theres a way to take this snapshot without disable the aero??

ps: hide my form take a screenshot and then show the form again is not a option!!

I need a way to take screenshot without show my actual form and without disable dwm!!! Anyone have some idea???

SUCESS IN WIN7

此搜索

FAILED IN WIN8

图像2

SUSPEND WINLOGON.EXE and KILL DWM.EXE IN WIN8 WORKS FINE

图像3

The following works for me:

procedure TForm2.Button1Click(Sender: TObject);
begin
    Self.AlphaBlend := True;
    Self.AlphaBlendValue := 0;
    try
        Toolkit.CaptureDesktop(Image1);
    finally
        Self.AlphaBlend := False;
    end;
end;

在此输入图像描述

For another technique, you can see:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM