来源:微信公众号「编程学习基地」
配置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")