key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
时间: 2023-11-30 07:02:12 浏览: 27
这段代码使用了Python内置的winreg模块,它提供了访问Windows注册表的功能。具体来说,这段代码打开了HKEY_CURRENT_USER键下的Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders子键,获取了当前用户的常用文件夹路径信息。
相关问题
通过pyinstaller打包后exe文件设置代码def add_to_startup(): lujing = os.getcwd() lujing = lujing.replace('\\', '/') file_path = os.path.abspath(f'{lujing}/首检工单超时预警.exe') key = winreg.HKEY_CURRENT_USER key_value = "Software\Microsoft\Windows\CurrentVersion\Run" with winreg.OpenKey(key, key_value, 0, winreg.KEY_WRITE) as key_handle: winreg.SetValueEx(key_handle, "My Program", 0, winreg.REG_SZ, file_path)开机启动无法找到同目录excel文件
这个问题可能是因为在设置开机启动时,程序还没有执行到读取Excel文件的代码,所以找不到文件。你可以尝试在程序执行读取Excel文件的代码之前,先切换到Excel文件所在的目录,再执行读取Excel文件的代码。修改代码如下:
```
import os
import winreg
def add_to_startup():
lujing = os.getcwd()
lujing = lujing.replace('\\', '/')
file_path = os.path.abspath(f'{lujing}/首检工单超时预警.exe')
key = winreg.HKEY_CURRENT_USER
key_value = "Software\Microsoft\Windows\CurrentVersion\Run"
with winreg.OpenKey(key, key_value, 0, winreg.KEY_WRITE) as key_handle:
winreg.SetValueEx(key_handle, "My Program", 0, winreg.REG_SZ, file_path)
# 切换到Excel文件所在的目录
os.chdir(os.path.dirname(os.path.abspath(__file__)))
# 执行读取Excel文件的代码
# ...
```
这样应该就可以解决找不到同目录Excel文件的问题了。
import winreg import os def add_to_startup(file_path: str): key = winreg.HKEY_CURRENT_USER key_value = "Software\Microsoft\Windows\CurrentVersion\Run" with winreg.OpenKey(key, key_value, 0, winreg.KEY_WRITE) as key_handle: winreg.SetValueEx(key_handle, "My Program", 0, winreg.REG_SZ, file_path) if __name__ == "__main__": file_path = os.path.abspath("C:/Users/Administrator/Desktop/python_work/已打包可用/周日计划表格/aa.exe") add_to_startup(file_path)关闭开机自动启动
你想知道如何关闭开机自动启动吗?可以使用以下代码实现:
1. 首先,打开注册表编辑器,按下 "Win + R" 组合键,输入 "regedit" 并按下 "Enter" 键。
2. 在注册表编辑器中,导航到以下路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
3. 找到要删除的程序的键值,并将其删除即可。注意,只删除键值,不要删除整个 "Run" 键。
4. 关闭注册表编辑器并重启电脑,程序将不再自动启动。
另外,如果你想在程序中实现关闭开机自动启动的功能,可以使用以下代码:
import winreg
def remove_from_startup():
key = winreg.HKEY_CURRENT_USER
key_value = "Software\Microsoft\Windows\CurrentVersion\Run"
with winreg.OpenKey(key, key_value, 0, winreg.KEY_WRITE) as key_handle:
try:
winreg.DeleteValue(key_handle, "My Program")
print("已成功关闭开机自动启动")
except:
print("未找到要删除的键值")
if __name__ == "__main__":
remove_from_startup()