Solved

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

Posted on 2013-05-21
5
643 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 9

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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Suggested Solutions

Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
With the advent of Windows 10, Microsoft is pushing a Get Windows 10 icon into the notification area (system tray) of qualifying computers. There are many reasons for wanting to remove this icon. This two-part Experts Exchange video Micro Tutorial s…

856 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