views:

565

answers:

2

I was wondering if it is possible for a program to prompt the user with a UAC prompt to raise it's own privileges without starting another process.

All the examples I can find on the internet seem to ShellExecute "runas" which creates a new process with elevated privileges.

If this is not possible then my best solution I guess would be create a named pipe, ShellExecute my own program with a special argument, and then shove all the data that it will need to perform the operation down the pipe. If there are any better suggestions then this I would be glad to hear them.

Thanks for any input.

+5  A: 

No, you can't elevate an existing process. You're right - you have start a new elevated process and get that to do the work for you.

RichieHindle
+1  A: 

One other possible answer (which ends up being essentially the same answer) is to have a service which runs as LocalSystem that does the elevated work for you.

Larry Osterman
This is what logmein.com do with their remote desktop on Vista and Windows 7
Phil Hannent