当前位置:   article > 正文

Python实现Windows动态壁纸代码_pythonffplay怎么放到最底层动态壁纸

pythonffplay怎么放到最底层动态壁纸

原理:# 发送特殊消息给Progman窗口,使窗口裂开。

额外工具:ffplay(当然也可以自己写个简单播放器啦)

  1. import ctypes
  2. # 加载Windows API库
  3. user32 = ctypes.WinDLL('user32')
  4. # 找到Progman窗口
  5. h_progman = user32.FindWindowW("Progman", None)
  6. # 发送特殊消息给Progman窗口
  7. user32.SendMessageTimeoutW(h_progman, 0x52C, 0, 0, 0, 100, ctypes.byref(ctypes.c_ulong()))
  8. # 找到SDL_app窗口
  9. h_ffplay = user32.FindWindowW("SDL_app", None)
  10. # 将SDL_app窗口设置为Progman的子窗口
  11. user32.SetParent(h_ffplay, h_progman)
  12. # 枚举窗口并隐藏WorkerW窗口
  13. user32.EnumWindows(ctypes.WINFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_long)(lambda hwnd, lparam: (
  14. lambda h_def_view: (
  15. user32.ShowWindow(user32.FindWindowExW(0, hwnd, "WorkerW", 0), 0)
  16. if h_def_view != 0 else True
  17. )
  18. )(user32.FindWindowExW(hwnd, 0, "SHELLDLL_DefView", 0))), 0)

接下来就是bat批处理

@echo off
chcp 65001
set /p input=请输入视频文件名(不包括扩展名,如不在本bat目录下在需要绝对路径): 
for %%F in ("%~nx0") do set filename=%%~nF
start cmd /c "D:\\ffmpeg\\bin\\ffplay.exe -fs -loop 0 %input%.mp4"
start cmd /c "python %filename%.py"

值得一提的是 bat批处理文件名和py脚本要一致啊喂!

对溜,记得吧D:\\ffmpeg\\bin\\ffplay.exe 修改成自己的路径哦。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/812542
推荐阅读
相关标签
  

闽ICP备14008679号