|
|
1
55
截至2017年,实现这一目标的简单方法如下:
如果您使用的是python 2.x,那么应该将最后一行替换为:
还要注意,如果您将python脚本转换为可执行文件(使用类似
这里的一些优势是:
底层ShellExecute调用的文档是 here . |
|
|
2
62
我花了一点时间才让德古拉格里亚的回答起作用,因此为了节省别人的时间,我采取了以下措施来实现这个想法:
|
|
|
3
28
似乎暂时无法提升应用程序特权,使您无法执行特定任务。Windows需要在程序开始时知道应用程序是否需要某些特权,并要求用户确认应用程序何时执行任何 需要 那些特权。有两种方法可以做到这一点:
这个 two articles 更详细地解释这是如何工作的。 如果您不想为CreateElevatedProcess API编写一个讨厌的CTypes包装器,我会做的是使用代码项目文章中解释的ShellExecuteEx技巧(Pywin32附带了一个用于ShellExecute的包装器)。怎样?像这样: 当程序启动时,它会检查它是否具有管理员权限,如果没有,它会使用shellexecute技巧运行自己并立即退出,如果有,它会执行手头的任务。 当你把你的程序描述成一个“脚本”时,我想这已经足够满足你的需求了。 干杯。 |
|
|
4
4
认识到这个问题是多年前提出的,我认为在 github 通过frmdstryr使用他的模块pyminutils: Excerpt:
这将使用COM界面,并自动指示需要管理员权限,同时使用熟悉的对话框提示,您将看到是否要复制到需要管理员权限的目录中,并在复制操作期间提供典型的文件进度对话框。 |
|
|
5
2
这可能无法完全回答您的问题,但您也可以尝试使用elevate命令powertoy,以便以提升的UAC权限运行脚本。 http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx 我想如果你使用它的话,它会看起来像“提升python yourscript.py” |
|
|
6
2
下面的示例建立在
Martin de la Fuente Saavedra的
出色的工作和接受的回答。特别介绍了两种枚举。第一个允许简单地说明如何打开提升的程序,第二个允许在需要容易识别错误时帮助。请注意,如果希望将所有命令行参数传递给新进程,
|
|
|
7
1
如果脚本始终需要管理员权限,则:
|
|
|
8
1
您可以在某个地方创建快捷方式,作为目标用途: python yourscript.py版 然后在“属性和高级”下选择“以管理员身份运行”。 当用户执行快捷方式时,会要求他们提升应用程序。 |
|
|
9
1
上面Jorenko工作的一个变体允许提升的进程使用相同的控制台(但请参见下面我的评论):
|
|
|
10
1
这主要是对jorenko答案的升级,它允许在Windows中使用带有空格的参数,但在Linux上也应该可以很好地工作:)
此外,还可以使用cx-freeze或py2exe,因为我们不使用
|