停止使用的模拟ctrl+c,代码如下
/// <summary>
/// 功能: 停止录制
/// </summary>
public static void Stop()
{
AttachConsole(p.Id);
SetConsoleCtrlHandler(IntPtr.Zero, true);
GenerateConsoleCtrlEvent(0, 0);
FreeConsole();
}
窗口启动后,点击【开始】开始录制,进程中出现ffmpeg,点击【停止】调用stop,进程中ffmpeg消失,视频也录制成功。此窗口不关闭,再次点击【开始】,进程中出现ffmpeg,再次点击【停止】调用stop,进程中ffmpeg依然存在。这个怎么解决?
/// <summary>
/// 功能: 停止录制
/// </summary>
public static void Stop()
{
AttachConsole(p.Id);
SetConsoleCtrlHandler(IntPtr.Zero, true);
GenerateConsoleCtrlEvent(0, 0);
FreeConsole();
}
窗口启动后,点击【开始】开始录制,进程中出现ffmpeg,点击【停止】调用stop,进程中ffmpeg消失,视频也录制成功。此窗口不关闭,再次点击【开始】,进程中出现ffmpeg,再次点击【停止】调用stop,进程中ffmpeg依然存在。这个怎么解决?
解决方案:20分
在方法最后设置
SetConsoleCtrlHandler(IntPtr.Zero, false);
SetConsoleCtrlHandler(IntPtr.Zero, false);