赞
踩
原理:# 发送特殊消息给Progman窗口,使窗口裂开。
额外工具:ffplay(当然也可以自己写个简单播放器啦)
- import ctypes
- # 加载Windows API库
- user32 = ctypes.WinDLL('user32')
- # 找到Progman窗口
- h_progman = user32.FindWindowW("Progman", None)
- # 发送特殊消息给Progman窗口
- user32.SendMessageTimeoutW(h_progman, 0x52C, 0, 0, 0, 100, ctypes.byref(ctypes.c_ulong()))
- # 找到SDL_app窗口
- h_ffplay = user32.FindWindowW("SDL_app", None)
- # 将SDL_app窗口设置为Progman的子窗口
- user32.SetParent(h_ffplay, h_progman)
- # 枚举窗口并隐藏WorkerW窗口
- user32.EnumWindows(ctypes.WINFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_long)(lambda hwnd, lparam: (
- lambda h_def_view: (
- user32.ShowWindow(user32.FindWindowExW(0, hwnd, "WorkerW", 0), 0)
- if h_def_view != 0 else True
- )
- )(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 修改成自己的路径哦。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。