13

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.

Negs
  • 233
  • 1
  • 6

2 Answers2

7

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
  • 272,464
  • 47
  • 358
  • 399
2

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
  • 16,086
  • 32
  • 60