0

I have program that does screenshots every 100ms and send them to a client. Right now I can only show a certain window like Get a screenshot of a specific application

But I want to hide a certain window.

What I cannot do:

  • Change the opacity from a program
  • Make a certain window black; the client still has to be able to see, let's say the browser behind it.
  • Hide it; the host must always be able to see everything

Just image that an host has very valuable information in excel, it may not be seen. But at the same time the client has to always see the browser(or any other program, not just one only like I have it now) behind it.

Community
  • 1
  • 1
Alexander
  • 1,554
  • 2
  • 16
  • 23
  • 3
    There is no way to do this at the time you take the screenshot. You'd have to edit the image afterwards to obscure the undesired window's rectangle. Given your caveats, I'd say this is just not possible. – Cody Gray - on strike Jul 05 '16 at 13:50

1 Answers1

1

The following might work:

  1. From the linked question, look at the highest voted answer and use PrintWindow() to get screenshots of a single window. Do that for all windows except the one you want to hide.

  2. Determine the Z-Order of the windows

  3. Merge the bitmaps with transparency

Community
  • 1
  • 1
Thomas Weller
  • 55,411
  • 20
  • 125
  • 222