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中的面向对象编程详解(上)
Apr 13 Python
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
Python中Iterator迭代器的使用杂谈
Jun 20 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
Dec 12 Python
详解python websocket获取实时数据的几种常见链接方式
Jul 01 Python
利用Python实现kNN算法的代码
Aug 16 Python
python程序 线程队列queue使用方法解析
Sep 23 Python
python__name__原理及用法详解
Nov 02 Python
python 实现简单的FTP程序
Dec 27 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
Pandas之read_csv()读取文件跳过报错行的解决
Apr 21 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 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中,文件上传
2006/12/06 PHP
php中用文本文件做数据库的实现方法
2008/03/27 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
javascript div 遮罩层封锁整个页面
2009/07/10 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
xml转json的js代码
2012/08/28 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
json数据的列循环示例
2013/09/06 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
基于Node.js实现压缩和解压缩的方法
2018/02/13 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
详解Python的Django框架中的templates设置
2015/05/11 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
python调用fortran模块
2016/04/08 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
基于python实现学生信息管理系统
2019/11/22 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
聘任书模板
2014/03/29 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
新闻稿怎么写
2015/07/18 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
《社戏》教学反思
2016/02/22 职场文书
深入理解python协程
2021/06/15 Python