Jump to content
Sign in to follow this  
flashcoder

Windows 10: How see behind full screen form inside a new desktop create by a 3rd's application

Recommended Posts

Posted (edited)

I have a normal application example (the code is this, but not is a service) that make screenshots of a non secure active desktop created by a 3rd's application.

 

For example:

 

https://i.stack.imgur.com/NJoOG.jpg

 

This 3rd application is a "browser application" that uses CEF to render the websites.

My goal is open a fullscreen form in foreground (covering all screen above) and be able to make screenshot of the content behind of this fullscreen form (the 3rd application).

 

I searched by some hint about this and found these similar discussions:

 

 

I also had tested using PrintWindow api (to capture only the 3rd's application), but this results in a black screen (in chromium content) because probably the 3rd's application uses CEF with hardware acceleration resource active.

 

For example:

 

https://i.stack.imgur.com/taMdX.png

 

All works fine in Windows XP, 7 (disabling Aero theme) - with ALPHABLEND = TRUE on fullscreen Form.

 

  • The second discussion found seems more near of solution to my trouble, because this uses a api apparently able to remove a determinated window of screencapture.

I tested this example left by author, works only if call ConfigMag() prodecure after routine that contains SetThreadDesktop api

 

Eg:

if InputDesktopSelected then
      xGetScreenToBmp(idx)
    else if SelectDesktop(nil) then // result of SelectDesktop() is a routine that calls SetThreadDesktop 
    begin
      ConfigMag;
      xGetScreenToBmp(idx);
    end;
except
  on E: Exception do
    Writeln(E.ClassName, ': ', E.Message);
end;
Readln;

Already if i want make screenshots periodically, this will fails like was said by author. Then my trouble still not was solved.

 

 

 

Edited by flashcoder

Share this post


Link to post

@flashcoderPlease, consider uploading images to the forum. This way they will be here as long as the forum exists. Imgur might delete those images some time in the future, or imgur might stop the service or terms of use or whatever, rendering your post less useful for future generations.

Share this post


Link to post
Posted (edited)
59 minutes ago, Микола Петрівський said:

If I had to interact with another desktop, I would start separate process there. Probably even separate EXE-file. Then i would send it commands somehow (tethering ?) and get results back.

Then not exist a solution to make screenshot continuously in a new desktop (behind fullscreen Form) on Win 10 with Magnification api + SetThreadDesktop? only because is created a window "Magnification Host".

 

I also tried create this "Magnification Host" window in a separated thread, and make the screenshots in other thread, but this also not worked:classic_sad:

Edited by flashcoder

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×