python实现windows壁纸定期更换功能

作者:theArcticOcean 时间:2022-09-06 15:05:11 

本文定期更换windows壁纸的python程序,很简单,属于自己写着玩的那种,不提供完美的壁纸切换解决方案。

安装pywin32 extensions

安装python2.7后,然后管理员的方式运行cmd,进入python的scripts目录,我的是

C:\Python27\Scripts
cd /d C:\Python27\Scripts

然后敲入:python pywin32_postinstall.py -install(先确保在环境变量PATH中设置好了python.exe的目录)


C:\Python27\Scripts>python pywin32_postinstall.py -install
Copied pythoncom27.dll to C:\Windows\SysWOW64\pythoncom27.dll
Copied pythoncomloader27.dll to C:\Windows\SysWOW64\pythoncomloader27.dll
Copied pywintypes27.dll to C:\Windows\SysWOW64\pywintypes27.dll
Registered: Python.Interpreter
Registered: Python.Dictionary
Registered: Python
-> Software\Python\PythonCore\2.7\Help[None]=None
-> Software\Python\PythonCore\2.7\Help\Pythonwin Reference[None]='C:\\Python27\\
Lib\\site-packages\\PyWin32.chm'
Pythonwin has been registered in context menu
Shortcut for Pythonwin created
Shortcut to documentation created
The pywin32 extensions were successfully installed.

这样,pywin32就完成了安装。

安装PIL

PIL即是Python Image Lib。
在网上下载PIL: http://www.pythonware.com/products/pil/。我下载的是PIL-1.1.7.win32-py2.7.exe,双击运行即可。
注:如果要使用pip安装,那么命令行中输入的不是pip,而是pip2.7,如下:

C:\Python27\Scripts>pip2.7 install
You must give at least one requirement to install (see "pip help install")

关键函数

下面的函数帮助信息都能在PyWin32.chm中看见。
win32gui.SystemParametersInfo


SystemParametersInfo(Action, Param, WinIni)
Queries or sets system-wide parameters. This function can also update the user profile while setting a parameter.
Parametersundefined
Action : int
System parameter to query or set, one of the SPI_GET* or SPI_SET* constants
Param=None : object
depends on action to be taken
WinIni=0 : int
Flags specifying whether change should be permanent, and if all windows should be notified of change. Combination of SPIF_UPDATEINIFILE, SPIF_SENDCHANGE, SPIF_SENDWININICHANGE

win32api.RegOpenKeyEx


PyHKEY = RegOpenKeyEx(key, subKey, reserved , sam )
Opens the specified key.
Parametersundefined
key : PyHKEY/int
An already open key, or any one of the following win32con constants:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
subKey : string
The name of a key that this method opens. This key must be a subkey of the key identified by the key parameter. If key is one of the predefined keys, subKey may be None. In that case, the handle returned is the same key handle passed in to the function.
reserved=0 : int
Reserved. Must be zero.
sam=KEY_READ : int
Specifies an access mask that describes the desired security access for the new key. This parameter can be a combination of the following win32con constants:
KEY_ALL_ACCESS
KEY_CREATE_LINK
KEY_CREATE_SUB_KEY
KEY_ENUMERATE_SUB_KEYS
KEY_EXECUTE
KEY_NOTIFY
KEY_QUERY_VALUE
KEY_READ
KEY_SET_VALUE
KEY_WRITE

程序

接下来就是coding:
set.py:


import Image
import win32api, win32gui, win32con

def setWallPaper(pic):
# open register
regKey = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
win32api.RegSetValueEx(regKey,"WallpaperStyle", 0, win32con.REG_SZ, "2")
win32api.RegSetValueEx(regKey, "TileWallpaper", 0, win32con.REG_SZ, "0")
# refresh screen
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,pic, win32con.SPIF_SENDWININICHANGE)

setWallPaper('E:\\backPics\\character5.jpg')

效果:

python实现windows壁纸定期更换功能

接下来,我们设定每隔一个小时换一次壁纸:

我的图库中只有5张图片,所以显示图片的标志只能在[1 - 5]中循环了。

python实现windows壁纸定期更换功能


import Image
import win32api, win32gui, win32con
import time

def setWallPaper(pic):
# open register
regKey = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
win32api.RegSetValueEx(regKey,"WallpaperStyle", 0, win32con.REG_SZ, "2")
win32api.RegSetValueEx(regKey, "TileWallpaper", 0, win32con.REG_SZ, "0")
# refresh screen
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,pic, win32con.SPIF_SENDWININICHANGE)

g_times = 0
while True:
g_times = g_times+1
g_times = g_times%5
picDir = 'E:\\backPics\\character'
picDir = picDir+str(g_times+1)+'.jpg'
setWallPaper(picDir)
time.sleep(60*60)

python实现windows壁纸定期更换功能

来源:https://blog.csdn.net/theArcticOcean/article/details/78239904

标签:python,windows,壁纸
0
投稿

猜你喜欢

  • python爬取网页版QQ空间,生成各类图表

    2023-01-18 06:30:58
  • mysql存储过程 在动态SQL内获取返回值的方法详解

    2024-01-19 01:22:53
  • Python实现字典的key和values的交换

    2021-08-18 03:45:49
  • 基于ORA-19815闪回空间爆满问题的处理方法

    2024-01-21 03:35:04
  • mysql主从复制读写分离的配置方法详解

    2024-01-13 22:26:25
  • 浏览器 cookie 限制

    2008-05-23 13:09:00
  • css清除浮动的最优方法

    2008-04-25 22:33:00
  • python环形单链表的约瑟夫问题详解

    2023-03-02 04:13:10
  • 微软Silverlight技术魅力初体验

    2008-11-05 11:16:00
  • 如何修改vue-treeSelect的高度

    2024-05-08 09:33:55
  • Photoshop设计制作网站流程图解

    2007-10-25 12:06:00
  • 使用 XML HTTP Request 对象[翻译]

    2007-11-07 21:11:00
  • Python编程实现tail-n查看日志文件的方法

    2023-07-26 01:17:42
  • Python参数传递实现过程及原理详解

    2021-07-11 20:16:07
  • php判断输入不超过mysql的varchar字段的长度范围

    2023-11-14 12:02:10
  • python自动生成model文件过程详解

    2023-09-30 02:54:05
  • python安装mysql的依赖包mysql-python操作

    2024-01-20 22:00:54
  • javascript实现划词标记+划词搜索功能

    2008-02-21 13:20:00
  • 用Python实现一个简单的线程池

    2023-09-21 15:14:56
  • 使用SQL Server时最容易忽略的21个问题

    2009-01-13 13:59:00
  • asp之家 网络编程 m.aspxhome.com