在Real TIme中使用Python 3.4更改Windows 8.1中的桌面背景

时间:2015-06-06 02:07:43

标签: python windows background desktop

这已由erykson解决:

console.log($("#liveCamera").offset());
console.log($("#liveCamera").parent().offset());
console.log($("#liveCamera").parent().parent().offset());
console.log($("#liveCamera").parent().parent().parent().offset());
console.log($("#liveCamera").parent().parent().parent().parent().offset());

这是一个单行版本

import os, ctypes
SPI_SETDESKWALLPAPER = 20
SPIF_UPDATEINIFILE = 1
SPIF_SENDCHANGE = 2
image_path = os.path.abspath("image.jpg")
ctypes.windll.user32.SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, image_path, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE)
  

我想首先说明使用ctypes方法   对我不成功并且调用了powershell函数也是如此   对我没有成功。

     

我的程序的目标是真实地更改桌面背景   程序运行的时间。我的尝试并没有成功   我做这样的任务比较新。如果有人可以指导我   一段很好的代码和一些关于它是如何工作的解释   非常感谢。同样,这适用于Windows 8.1 64位和我   我正在使用Python 3.4.3 64位。我有jpg文件,但我可以使用任何   格式,只要它的工作原理。感谢您提供任何可能的解决方案或   有关为什么这不起作用的半详细描述。

     

PowerShell功能代码

import os, ctypes
ctypes.windll.user32.SystemParametersInfoW(20, 0, os.path.abspath("image.jpg"), 1 | 2)
     

Python中的PowerShell调用代码

Function Set-WallPaper($Value)
{
 Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $value
 rundll32.exe user32.dll, UpdatePerUserSystemParameters
}
     

然后我用ctypes尝试了这个,显示黑屏

import subprocess
subprocess.Popen([r'path/to/PowerShell/script.exe',
                     '-ExecutionPolicy',
                     'Unrestricted',
                     'path/to/background_image.png'], cwd=os.getcwd())
     

在有人问之前,是的,我在实施时更改了目录   这些行。

0 个答案:

没有答案