如何在注册表中创建一个值键:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
这将在用户登录时更改背景。
要尝试它,请编写此脚本,例如,将其命名为SetDesktopBackground.py
您喜欢的任何位置:
#!python
from ctypes import *
from os import path
SPI_SETDESKWALLPAPER = 0x14
SPIF_UPDATEINIFILE = 0x1
lpszImage = path.join(path.dirname(path.realpath(__file__)), 'your_image.jpg')
SystemParametersInfo = windll.user32.SystemParametersInfoA
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, lpszImage, SPIF_UPDATEINIFILE)
不要忘记将一些图像 ,your_image.jpg
放在同一目录中。然后打开注册表编辑器:
Start > Search > type regedit.exe
然后去路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
右键单击并选择New > String Value
并为此值键入您喜欢的任何名称。
右键单击这个新值并选择Modify
,在Data Value
字段中写入:
"C:\Python26\pythonw.exe" "C:\Path\To\SetDesktopBackground.py"
要对其进行测试,请注销并再次登录。当此用户登录时,背景应该会改变。
这是手动的方法,您可以在应用程序中使用_winreg在安装期间创建值:
#!python
from _winreg import *
from sys import executable
from os import path
subkey = 'Software\\Microsoft\\Windows\\CurrentVersion\\Run'
script = 'C:\\Path\\To\\SetDesktopBackground.py'
pythonw = path.join(path.dirname(executable), 'pythonw.exe')
hKey = OpenKey(HKEY_CURRENT_USER, subkey, 0, KEY_SET_VALUE)
SetValueEx(hKey, 'MyApp', 0, REG_SZ, '"{0}" "{1}"'.format(pythonw, script))
CloseKey(hKey)