0

我正在尝试创建一个 python 程序来轻松更改我的 cmd 启动文件夹(而不是键入 cd ... 导航到所需的文件)
但首先我需要弄清楚如何更改它而无需在 cmd 中键入 regedit.exe .
在浏览了python文档之后,我得到了:

from winreg import*

a=OpenKey(HKEY_CURRENT_USER,"Software\Microsoft\Command Processor\\")
SetValue(HKEY_CURRENT_USER,"Software\Microsoft\Command Processor\\",REG_SZ,"cd\\the path that I want.")

此代码确实编辑了字符串值(我相信这就是它的名称)默认值。
但是我需要它做的是编辑字符串值 Autorun #我
尝试了将 Autorun 放入 SetValue 函数的不同方法,但它没有用。
注意:Default 和 Autorun 都在 HKEY_CURRENT_USER\Software\Microsoft\Command Processor 中。
我也试过

SetValueEx(a,"Autorun",0,REG_SZ,"cd\\The path that I wantsss.")#Don't know if this is the right way to use it.  

但这给了我这个错误:

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    SetValueEx(a,"Autorun",0,REG_SZ,"cd\\The path that I wantsss.")
WindowsError: [Error 5] Access is denied    

我使用python 3.1和windows7
提前谢谢你。

4

1 回答 1

1

您必须使用 SetValueEx 并使用适当的访问权限(KEY_WRITE 或 KEY_ALL_ACCESS)打开密钥,如下所示:

from winreg import*

a=OpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Command Processor",0,KEY_WRITE)
SetValueEx(a,"Autorun",0,REG_SZ,"cd\\The path that I wantsss.")
CloseKey(a)
于 2012-08-13T21:43:21.703 回答