@Fopedush 尽管那篇文章将这种技术描述为“自我提升”,但这些示例程序似乎实际上在做的是使用“ShellExecuteEx”和动词“runas”启动进程的新实例。我认为这并不能满足 OP 提升已经在运行的程序的需求(例如,它将失去其所有状态)。 (9认同)
这是绝对不真实的。win32 API 确实支持提升已经在运行的任意应用程序,尽管有问题的应用程序必须公开功能本身。[本文](http://archive.msdn.microsoft.com/KB981778) 和随附的源代码演示了如何实现这一点。可以想象,人们可以编写一个应用程序来选择和提升其他进程...... (3认同)
@naxa 我没有使用过 Total Commander,但我愿意打赌“以管理员身份重试”选项实际上会产生一个完全独立的提升进程来执行特权工作。当您选择“显示所有进程的详细信息”时,进程资源管理器会执行此操作,它会启动其自身的新提升副本并关闭未提升的副本。如果是这种情况,则需要专门编写程序以了解如何正确启动第二个进程。 (3认同)