我试图让我的python脚本在启动时运行但我得到错误消息windowserror访问被拒绝,但我应该能够让程序在启动时启动,因为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')
赞赏任何意见。
答案 0 :(得分:5)
import webbrowser
webbrowser.open('www.youtube.com')
摆脱所有_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尝试打开启动文件夹中的所有文件,如果Python默认打开PY,Windows将打开Python控制台。尝试重新启动,这应该可行。
答案 1 :(得分:1)
狒狒: 我发帖有点晚了,但你似乎在代码的末尾没有留下山姆了。
当您打开密钥时,您需要添加用户权限,如果您没有_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')