vlc音视频开发(三)桌面动态壁纸(四十行代码)

来源:微信公众号「编程学习基地」

配置vlc环境:

vlc音视频开发(一)环境搭建(qt篇)


vlc音视频开发(二)环境搭建(VS篇)

桌面动态壁纸代码

#include <Windows.h>
#include "vlc/vlc.h"
HWND findDesktopIconWnd()
{
    
    
    HWND hWorkerW = NULL;//WorkerW的句柄
    HWND hDefView = NULL;//SHELLDLL_DefView的句柄
    hWorkerW = FindWindowEx(NULL, NULL, "WorkerW", NULL);
    while ((!hDefView) && hWorkerW)
    {
    
    
        hDefView = FindWindowEx(hWorkerW, NULL, "SHELLDLL_DefView", NULL);
        hWorkerW = FindWindowEx(NULL, hWorkerW, "WorkerW", NULL);
    }
    ShowWindow(hWorkerW, 0);
    return FindWindow("Progman", NULL);
}
void SendMessageToDesktop()
{
    
    
    PDWORD_PTR result = NULL;
    SendMessageTimeout(FindWindow("Progman", NULL), 0x52c, 0, 0, SMTO_NORMAL, 1000, result);
}
int main(int argc, char* argv[])
 {
    
    
     libvlc_instance_t * inst;
     libvlc_media_player_t *mp;
     libvlc_media_t *m;
     inst = libvlc_new (0, NULL);
     m = libvlc_media_new_path (inst, "cuc_ieschool.flv");
     mp = libvlc_media_player_new_from_media (m);
     libvlc_media_release (m);
     SendMessageToDesktop();                 //发送消息
     HWND hWnd = findDesktopIconWnd();       //获取桌面句柄
     libvlc_media_player_set_hwnd(mp, hWnd);
     libvlc_media_player_play (mp);
     _sleep (60000); 
     libvlc_media_player_stop (mp);
     libvlc_media_player_release (mp);
     libvlc_release (inst);
     return 0;
 }

程序结果就是桌面壁纸被替换成播放cuc_ieschool.flv这个视频文件.

如果是VS环境的话还要设置字符集在这里插入图片描述
同时添加导入库的代码

#pragma comment(lib,"libvlc.lib")
#pragma comment(lib,"libvlccore.lib")

猜你喜欢

转载自blog.csdn.net/qq_44519484/article/details/112472442