我需要从C#应用程序关闭另一个进程(Windows Media Encoder),到目前为止我可以使用:
Process.GetProcessesByName("wmenc.exe")[0].CloseMainWindow();
Run Code Online (Sandbox Code Playgroud)
但是如果Media Encoder Application是Streaming或Recording,它会在退出时显示一个Dialog:
"你确定要停止编码吗?"
那么有没有办法回答或点击代码中的是按钮?
[编辑]许多用户正在回答Process.kill(),但这不是一个选项,因为Process.Kill();将立即终止Windows Media Encoder,而Windows Media Encoder将不会完成正在写入的文件,这迫使我重新索引视频文件.所以我不能使用Process.Kill();
我的应用程序中的一个组件在Windows上失败,因为Windows K/KN系统没有安装Media Feature Pack.为了防止这种情况,我考虑在安装时添加一个检查,以查看当前系统上是否安装了Media Feature Pack.但是,我没有找到足够的有关MFP的信息.
对于大多数Windows版本,它已经安装但是有些Windows 8和8.1安装没有.我需要一种程序化的方法来做到这一点.
我需要任何一个信息来实现这一点:
有哪些可用于确定Media Feature Pack是否已安装的注册表?Media Feature Pack(如.NET框架/ VC重新分发)是否设置了一些可用于确定此问题的regkey?
是否有可用于检测Media Feature Pack的API?
是否有可用于检测的DLL?
我知道mf.dll和mfplat.dll安装在sys32文件夹中,但是我可以依赖这两个文件进行MFP检测吗?
windows install detection windows-media-encoder windows-media-center