6

我试图让我的 python 脚本在启动时运行,但我收到错误消息 windowserror access denied,但我应该能够让程序在启动时启动,因为 teamviewer(我下载的第三方程序)每次我重新启动时都会运行计算机,所以我知道我应该能够让我的程序在启动时运行(不过我可能会做一些不同的事情,所以如果你能阐明 teamviewer 做了哪些不同的事情以使其脚本在启动时运行,那将很有帮助)。

这是我的脚本

import _winreg, webbrowser
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,'Software\Microsoft\Windows\CurrentVersion\Run')
_winreg.SetValueEx(key,'pytest',0,_winreg.REG_BINARY,'C:\Users\"USERNAME"\Desktop\test.py') 
key.Close()
webbrowser.open('www.youtube.com')

任何输入表示赞赏。

4

2 回答 2

5
import webbrowser
webbrowser.open('www.youtube.com')

摆脱所有那些 _winreg 的东西。相反,您(假设双击 py 文件会打开控制台)只需将其放在您的启动文件夹中(C:\Users\yourusername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup在 Windows 7 和C:\Documents and Settings\yourusername\Start Menu\Programs\StartupXP 中)。这是因为 Windows 会尝试打开启动文件夹中的所有文件,如果 Python 默认打开 PY,Windows 将打开 Python 控制台。尝试重新启动,应该可以。

于 2012-01-16T16:00:41.323 回答
2

狒狒:我发帖有点晚了,但你似乎在你的代码末尾留下了山姆。

打开密钥时需要添加用户权限,如果不添加,_winreg 默认为“READ”:

这是来自 python 站点 http://docs.python.org/2/library/_winreg.html#access-rights的片段

sam 是一个整数,它指定一个访问掩码,该掩码描述了所需的密钥安全访问权限。默认为 KEY_READ。有关其他允许的值,请参阅访问权限。

这是更正的代码:

 import _winreg, webbrowser
    key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,'Software\Microsoft\Windows\CurrentVersion\Run',_winreg.KEY_SET_VALUE)
    _winreg.SetValueEx(key,'pytest',0,_winreg.REG_BINARY,'C:\Users\"USERNAME"\Desktop\test.py') 
    key.Close()
webbrowser.open('www.youtube.com')
于 2013-12-30T18:12:43.870 回答