Solved

C++ to do a Screen Capture of "Secured Desktop" (UAC Prompts)

Posted on 2013-05-21
5
633 Views
Last Modified: 2013-09-15
Is there anyone who know how to take screen capture of the secured desktop? (The darker overlay where UAC Prompt appears)

The regular "bitblt" that i'm using doesn't seems to capture these screens.

Thanks
0
Comment
Question by:cdebel
  • 3
5 Comments
 
LVL 37

Expert Comment

by:TommySzalapski
ID: 39184800
The whole idea behind the UAC prompt is that Windows limits what processes can run so that malicious software cannot capture your keyboard input (password?), or click the install button for you, or slip by unnoticed.

Your applications are not supposed to be able to interact with the secured desktop at all.

Why do you need to get a screen capture of that desktop? Perhaps we can help you find a different method to achieve the same end result.
0
 
LVL 10

Author Comment

by:cdebel
ID: 39184880
I know the whole idea about the UAC, but i know it's possible to do it (TeamViewer for example do it).

We are developping a solution similar to TeamViewer/VNC/LogMeIn/etc, to allow our users to support their customers remotely.

The point is that if the local user think that his support staff see the prompt, and wait for an action from him... they will wait forever.

I've seen registries like PromptOnSecureDesktop, but from the tests i've done, it has no impact on the result with bitblt.  But maybe i've done something wrong, just setting it to 0 or false might not be enough...
0
 
LVL 8

Accepted Solution

by:
Subrat (C++ windows/Linux) earned 500 total points
ID: 39186308
To handle UAC, we need proper privilege. So you can take a look into

ImpersonateLoggedOnUser()
0
 
LVL 10

Author Comment

by:cdebel
ID: 39196914
I'll do some reading about this API call and i'll get back later after some tests.   Thanks for this hint Subrat2009
0
 
LVL 10

Author Comment

by:cdebel
ID: 39494207
I've not been able to test the solution.  We have something urgent on the Schedule for the next 2 weeks, then i'll be able to try it.

I'll mark your solution as correct, and if i need more help i'll post a new question linked to this one.

Thanks for your help
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A short article about problems I had with the new location API and permissions in Marshmallow
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question