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')
效果:
接下来,我们设定每隔一个小时换一次壁纸:
我的图库中只有5张图片,所以显示图片的标志只能在[1 - 5]中循环了。
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)
来源:https://blog.csdn.net/theArcticOcean/article/details/78239904
猜你喜欢
- 实现原理 把所有需要延时加载的图片改成如下的格式:<img lazy_src="图片路径" border
- 前段时间自学了一段时间的Python,想着浓一点项目来练练手。看着大佬们一说就是爬了100W+的数据就非常的羡慕,不过对于我这种初学者来说,
- 一段非常简单代码普通调用方式def console1(a, b): print("进入函数")
- 引子在工作中,我时不时地会需要在Go中调用外部命令。前段时间我做了一个工具,在钉钉群中添加了一个机器人,@这个机器人可以让它执行一些写好的脚
- 前言目前有一张tif格式的栅格影像,需要在web地图上进行展示,使用动态切片WMS的方式,渲染速度比较慢,而且大的时候会出现模糊的问题。并且
- 1 自动化测试自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为
- 目录mysqladmin命令UPDATE user 语句SET PASSWORD 语句root密码丢失的情况(待验证)mysqladmin命
- 前些天有位网友建议我在博客中添加RSS订阅功能,觉得挺好,所以自己抽空看了一下如何在Django中添加RSS功能,发现使用Django中的s
- 前记在Python中, Dict是一系列由键和值配对组成的元素的集合, 它是一个可变容器模型,可以存储任意类型对象. Dict的存取速度非常
- startswith()方法Python startswith() 方法用于检查字符串是否是以指定子字符串开头如果是则返回 True,否则返
- 什么是拼音转换在我们学习语言之前,我们一般会学习拼音来认识汉字,并学会如何读汉字。所以,拼音在对于我们语言的重要性不言而喻。而拼音转换指的是
- 在平时开发过程中,经常遇到需要在数据中获取特定的元素的信息,如到达目的地最近的车站,橱窗里面最贵的物品等等。怎么办?看下面方法一: 利用数组
- 1.创建主键语法 ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名)
- 根据当前时间戳获得整小时时间戳unit = 3600start_time = int(time.time())/3600 * 3600根据当
- 接触 Python 不久,看到很多人写2048,自己也捣鼓了一个,主要是熟悉Python语法。程序使用Python3 写的,代码150行左右
- 正则给header的冒号两边参数添加单引号(Python请求用)直接从浏览器Chrome复制header值如下:Host: kyfw.123
- 一、简单配置,获取单个网页上的内容。(1)创建scrapy项目scrapy startproject getblog(2)编辑
- 前言:在进行数据分析时,难免需要对数据集应用一些我们自定义的一些函数,或者其他库的函数,得到我们想要的数据,这种情况下,可能大家第一时间想到
- 判断函数如下:Public Function CheckBIG(strSource As String) As BooleanDim idx
- 本文实例讲述了Python中str.join()简单用法。分享给大家供大家参考,具体如下:Python join() 方法用于将序列中的元素