Detect when users take screenshots of my program

I am writing a windows application. How can I find out when a screenshot is taken? I read about how to detect hotkey presses, but I am more concerned about the case when every other 100 ms or so another program takes screenshots. Namely, I'm trying to notice when someone creates another program (say, a python using ImageGrab, as mentioned in another post) that constantly takes screenshots of my application and uses them to read information about it.

I don't care about preventing screenshots from being taken - I can simply prevent the user from seeing this behavior.

Is it possible? Does a Windows message appear when an application takes a screenshot, for example, using WM_HOTKEY? Or do windows simply use the latest information from the latest paint events and return it to another program directly, without the possibility of my application at all?

+5
source share
10 answers

, . , , , . , VirtualBox, , VirtualBox ( ). , .

+27

, ? , , ?

, - .

+7

. , 99% .

, / /, .

, , , .

+7

() , SetWindowsHookEx.

VB.NET.

. , , "" . , . , .

+4

-, - , , .

extcestral dos.

95% , - , - ( " ! !" ) , PrtScrn 15 .

+3

. , , .

+2

, , :

- Windows Media, () WMP . ( : MS Paint, ). , VNC .

+2

( #), BitBlt, . , - , , , .

+1

, , , , , . , ..

, , , 100 , . ( - ?)

.

+1

There is one way that I think can stop it. learn about technology that blurs the graphic display when it is duplicated, for example.

screenshot, photographed by a digital camera screenshot from virtual os.

play with him, who knows that you can come up with something that will make millions.

-1
source

All Articles