如何运行一个视频文件使用VLC播放器使用c++
How to run a Videofile using VLC player Using C++
#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-exit
或vlc://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程序。
你需要:
- 使用
EnumProcesses()
获取当前运行的所有进程号:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682629(v=vs.85).aspx - 在上面列表中的每个进程上调用
OpenProcess()
并获得HANDLE
:http://msdn.microsoft.com/en-us/library/windows/desktop/ms684320(v=vs.85).aspx - 如果您设法获得
HANDLE
调用GetModuleBaseName()
并获得进程名:http://msdn.microsoft.com/en-us/library/windows/desktop/ms683196(v=VS.85).aspx - 检查名称,如果您已经找到了您的目标进程,在本例中为"vlc",调用
TerminateProcess()
:http://msdn.microsoft.com/en-us/library/windows/desktop/ms686714(v=VS.85).aspx
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- 如何使用ndk-build.cmd构建Android.so文件
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 读取文件并输入到矢量中
- 在C++中查找文件
- c++库的公共头文件中应该包含什么
- 用c++从输入文件中读取另一行
- Cppcheck生成xml转储文件
- 读取文件的最后一行并输入到链接列表时出错
- 如何使用C ++在VLC中播放MP3文件
- 如何使用vlc或其他东西播放mp4文件的随机部分
- 如何运行一个视频文件使用VLC播放器使用c++