当前位置: 首页 > 编程笔记 >

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

闾丘玮
2023-03-14
本文向大家介绍python实现windows壁纸定期更换功能,包括了python实现windows壁纸定期更换功能的使用技巧和注意事项,需要的朋友参考一下

本文定期更换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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍python实现桌面壁纸切换功能,包括了python实现桌面壁纸切换功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现桌面壁纸切换功能的具体实现方法,供大家参考,具体内容如下 大体分为两个部分 一、利用爬虫爬取壁纸 第一部分爬取图片url地址并且下载至本地 爬虫针对 http://image.so.com/ 【360壁纸写的】,如果要更换url地址自己

  • 本文向大家介绍Python实现设置windows桌面壁纸代码分享,包括了Python实现设置windows桌面壁纸代码分享的使用技巧和注意事项,需要的朋友参考一下 每天换一个壁纸,每天好心情。 其中的httpwrapper是我写的一个http访问的封装:

  • 引用脚本的内容: /*更改壁纸 by Ansifa*/ Name "更改壁纸" OutFile "更改壁纸.exe" Caption "更改壁纸" SetCompressor /FINAL /SOLID lzma !include UsefulLib.nsh page instfiles Var HWND Section ${GetWallpaper} "$r0" ;获得当前壁纸路径 ${Get

  • 爱壁纸HD是最专业的桌面高清壁纸软件,提供万款优质高清壁纸,具有试试手气、按颜色筛选壁纸以及定时切换壁纸功能等功能,充分满足了壁纸达人需求。爱壁纸HD Linux 版能够自动适配屏幕分辨率,希望我们的应用能让您喜欢,快来装扮您的 Linux 桌面吧。 爱壁纸HD Linux版采用 Python 开发。

  • 本文向大家介绍Python 爬取必应壁纸的实例讲解,包括了Python 爬取必应壁纸的实例讲解的使用技巧和注意事项,需要的朋友参考一下 最近看了下python,就想着获取下bing的图片,每天定时爬取,保存到本地,可以做背景图片用。 也在网上看了一些其他的例子。就自己动手写了一个小的爬图片的python脚本。 我们进来来爬取的是必应壁纸的相关实例,代码如下: 以上就是Python 爬取必应壁纸的实

  • 本文向大家介绍Android实现手机壁纸改变的方法,包括了Android实现手机壁纸改变的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android实现手机壁纸改变的方法。分享给大家供大家参考。具体如下: main.xml布局文件: 清单文件: WallAdapter自定义适配器: WallActivity类: 运行结果: 希望本文所述对大家的Android程序设计有所帮助。