擅长:python、mysql、java
<p>似乎暂时无法提升应用程序权限以执行特定任务。Windows需要在程序启动时知道应用程序是否需要某些特权,并要求用户确认应用程序何时执行任何需要这些特权的任务。有两种方法:</p>
<ol>
<li>编写一个清单文件,告诉Windows应用程序可能需要一些特权</li>
<li>从另一个程序内部以提升的权限运行应用程序</li>
</ol>
<p>这个<a href="http://www.codeproject.com/KB/vista-security/UAC__The_Definitive_Guide.aspx" rel="noreferrer">two</a><a href="http://msdn.microsoft.com/en-gb/magazine/cc163486.aspx" rel="noreferrer">articles</a>更详细地解释了这是如何工作的。</p>
<p>如果您不想为createElevatedProcessAPI编写一个讨厌的ctypes包装器,我要做的是使用代码项目文章中解释的ShellExecuteEx技巧(Pywin32附带了ShellExecute的包装器)。怎样?像这样的:</p>
<p>当程序启动时,它会检查它是否具有管理员权限,如果没有,它会使用ShellExecute技巧运行自己并立即退出,如果有,它将执行手头的任务。</p>
<p>当你把你的程序描述为“脚本”时,我想这已经足够满足你的需要了。</p>
<p>干杯。</p>