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


Posted in Python onJanuary 21, 2019

本文定期更换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壁纸定期更换功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
Python存取XML的常见方法实例分析
Mar 21 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
python反转列表的三种方式解析
Nov 08 Python
将python2.7添加进64位系统的注册表方式
Nov 20 Python
关于多元线性回归分析——Python&SPSS
Feb 24 Python
浅谈Python中的继承
Jun 19 Python
零基础小白多久能学会python
Jun 22 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
python drf各类组件的用法和作用
Jan 12 Python
PyQt5+requests实现车票查询工具
Jan 21 #Python
Python设计模式之策略模式实例详解
Jan 21 #Python
Python设计模式之装饰模式实例详解
Jan 21 #Python
python利用Tesseract识别验证码的方法示例
Jan 21 #Python
对python过滤器和lambda函数的用法详解
Jan 21 #Python
利用Python正则表达式过滤敏感词的方法
Jan 21 #Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 #Python
You might like
PHP定时更新程序设计思路分享
2014/06/10 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
PHP序列化操作方法分析
2016/09/28 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
Vue指令指令大全
2019/02/09 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
快速查询Python文档方法分享
2017/12/27 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
python实现数据分析与建模
2019/07/11 Python
使用pandas读取文件的实现
2019/07/31 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
中学生爱国演讲稿
2013/12/31 职场文书
计算机相关的自我评价
2014/01/15 职场文书
面试后的感谢信范文
2014/02/01 职场文书
实习报告评语
2014/04/26 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
详解php中流行的rpc框架
2021/05/29 PHP