D
D
dbratus2011-10-06 13:05:18
Windows
dbratus, 2011-10-06 13:05:18

How in .Net Windows Forms to make the contents of the form not visible on the screenshot?

A little prehistory. Our application, when it crashes, displays an error message with a report number that needs to be sent to the support team. The form says that the number needs to be copied using the "Copy to clipboard" button on the same form, but users do not read the messages. Instead, they attach a screenshot, and the support has to manually rewrite the 32-digit error number. Naturally, they got bored. You want to make it impossible for users to screenshot this form. Maybe then they will begin to read what is written on it.

Answer the question

In order to leave comments, you need to log in

7 answer(s)
O
Ocelot, 2011-10-06
@Ocelot

Some kind of vicious approach “Ban everything!”. Users will then take pictures of the screen on their mobile phones and send photos.
And what prevents the application itself from compiling an error report, and displaying only a window with the buttons "send report to the SP" and "do not send"?

M
Muff, 2011-10-06
@Muff

It's easier for support to write a 32-digit number recognition tool in the screenshot.

A
Anatoly, 2011-10-06
@taliban

An error has occurred while running the application!
Two buttons and NOTHING more!
1. Send an error message to support (automatically)
2. View an error message
When you click on the first one, the program itself sends what you need where you need it, when you click on the second one, the program shows what the user sees now + some description.
No need to fence bicycles, you make life difficult for yourself (and for your support)

G
gelas, 2011-10-06
@gelas

What a strange approach you have.
1. Make a "send report" button.
2. If you do not want to make a button, add some QR code to the form so that your support does not enter it manually.
In any case, you should not educate and force users over trifles, make sure that the correct option is the most convenient.

I
ivsedm, 2011-10-06
@ivsedm

If you leave the code input by the support, then you can convert 32 digits to the hexadecimal system or to the 32-decimal number system. Then in the first case, 32 digits will “fold” into 8 characters, and in the second case, in general, into 4.

T
tangro, 2011-10-06
@tangro

A very hilarious approach is to ban screenshots so that people copy the letters. As mentioned above, it is better to send reports automatically. Moreover, for this purpose there are a bunch of paid and free libs. Yes, even bare Windows can do it.
Well, if you really set out to do this, then nifiga on .NET will not work for you. Screenshots are taken via the WinAPI functions GetDC, BitBlt, etc. And they don't care if your application uses .NET or not. Accordingly, in order to deceive them, you need to write your own dll (in asma or in C ++), find which part of Windows takes screenshots, load your dll into the memory of this module, run a remote stream in it, hang hooks on GetDC, BitBlt (and maybe something else), in these hooks, to recognize who and what is trying to take a screenshot and cut out their shape from these screenshots. In general, 2-3 weeks of work for a very experienced systems programmer. Are you sure that your support is so fucked up that it makes sense? And, by the way, to attach the generated reports to the prog lib - I think this is about 3 hours of work for a .NET junior. So adjust your goals.

C
cencio, 2011-10-06
@cencio

no way to do that.
You need to remake the form to a different logic, there are two options:
1. Add a button - "Report to support" by clicking on which send a log with an error to your server
2. Do the same automatically, without the user's request.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question