如何运行一个视频文件使用VLC播放器使用c++

How to run a Videofile using VLC player Using C++

本文关键字:文件 VLC c++ 播放器 视频 何运行 运行 一个      更新时间:2023-10-16
#include<Windows.h>
#include<direct.h>

    int main()
{
    _chdir`("C:\Program Files (x86)\VideoLAN\VLC");
    system("vlc C:\Users\Documents\Wildlife.wmv");
    return 0;
}

通过使用上面的代码,我成功地能够使用vlc播放器运行视频,但随着视频完成,vlc播放器窗口仍然没有接近。如何关闭VLC播放器窗口?

请发表您的宝贵意见

使用选项--play-and-exitvlc://quit,即

system("vlc file:///C:\Users\Documents\Wildlife.wmv --play-and-exit");

system("vlc file:///C:\Users\Documents\Wildlife.wmv --vlc://quit");

如果您想使用另一个系统调用来终止它,请在Windows上尝试:

system("taskkill /im vlc.exe");

使用CreateProcess传递正确的命令行。请看下面的例子。注意"分隔符的使用。

#include <Windows.h>
int main()
{
    const char *appname = "c:\Program Files (x86)\VideoLAN\VLC\vlc.exe";
    const char *filename = "c:\files\my file.wav";
    STARTUPINFOA si;
    PROCESS_INFORMATION pi;
    memset(&si, 0, sizeof(si));
    si.cb = sizeof(si);
    memset(&pi, 0, sizeof(pi));
    char buf[MAX_PATH + 300];
    wsprintfA(buf, "%s "%s" --play-and-exit", appname, filename);
    CreateProcessA(0, buf, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
    return 0;
}

使用Unicode,如果这是一个合适的Windows程序。

你需要:

  1. 使用EnumProcesses()获取当前运行的所有进程号:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682629(v=vs.85).aspx
  2. 在上面列表中的每个进程上调用OpenProcess()并获得HANDLE:http://msdn.microsoft.com/en-us/library/windows/desktop/ms684320(v=vs.85).aspx
  3. 如果您设法获得HANDLE调用GetModuleBaseName()并获得进程名:http://msdn.microsoft.com/en-us/library/windows/desktop/ms683196(v=VS.85).aspx
  4. 检查名称,如果您已经找到了您的目标进程,在本例中为"vlc",调用TerminateProcess():http://msdn.microsoft.com/en-us/library/windows/desktop/ms686714(v=VS.85).aspx