我试图在启动时运行我的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')
欢迎任何意见。
狒狒: 我发得有点晚,但你好像把sam忘在代码末尾了。
当您打开一个密钥时,您需要添加用户权限,如果您没有将winreg默认为“READ”:
以下是来自python站点的片段http://docs.python.org/2/library/_winreg.html#access-rights
sam是一个整数,指定一个访问掩码,用于描述密钥所需的安全访问。默认为KEY_READ。有关其他允许值,请参阅访问权限。
下面是更正的代码:
把那些winreg的东西都扔掉。相反,您(假设双击py文件打开控制台)只需将其放在启动文件夹中(在Windows 7上是
C:\Users\yourusername\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
,在XP上是C:\Documents and Settings\yourusername\Start Menu\Programs\Startup
)。这是因为Windows试图打开startup文件夹中的所有文件,如果Python默认打开PYs,Windows将打开Python控制台。尝试重新启动,应该可以。相关问题 更多 >
编程相关推荐