首页 > 代码库 > 屏幕录像专家exe视频批量翻录成视频avi格式

屏幕录像专家exe视频批量翻录成视频avi格式

笔者下载过一些视频,全部是屏幕录像专家录制的exe视频,这些视频没有密码,可以顺利打开看看。

有一日想把这些视频转换成wmv格式放到手机上查看。一个目录下有那么大exe视频。一个个转特别麻烦。

后来想到用windows api发送消息操作屏幕录像专家菜单来转换视频。

程序使用方法:

1 安装一个破解版的 屏幕录像专家。勾选所有 “是的,以后不再提示”

2 把下面的代码编译成exe放到exe视频当前目录或者放到屏幕录像专家上级目录也可以。

3 打开屏幕录像专家,把文件夹往编译好哦screenrecoder.exe上面拖,或者把文件夹往screenrecoder.exe上拖都可以。

他会打开时自动录制。播放结束将会生成一个视频。

ScreenRecoder.cs

using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using System.Runtime.InteropServices;using System.Text;using System.Text.RegularExpressions;namespace RecoderScreen{    internal class Program    {        public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);        public delegate bool EnumChildWindowsProc(IntPtr hwnd, int lParam);        private delegate bool EventHandler(Program.CtrlType sig);        private enum CtrlType        {            CTRL_C_EVENT,            CTRL_BREAK_EVENT,            CTRL_CLOSE_EVENT,            CTRL_LOGOFF_EVENT = 5,            CTRL_SHUTDOWN_EVENT        }        private const int F2 = 113;        private const int WM_CHAR = 258;        private const int WM_SYSKEYDOWN = 260;        private const int WM_SYSKEYUP = 261;        private const int WM_SYSCHAR = 262;        private const int WM_KEYDOWN = 256;        private const int WM_KEYUP = 257;        private const int WM_HOTKEY = 786;        private const int WM_COMMAND = 273;        private const int WM_CLOSE = 16;        private const int WM_SYSCOMMAND = 274;        private const int WM_GETTEXT = 13;        private const int WM_GETTEXTLENGTH = 14;        private const int WM_SETTEXT = 12;        private const int WM_SETTINGCHANGE = 26;        private const int SW_HIDE = 0;        private const int SW_SHOW = 5;        private static Program.EventHandler _handler;        private static bool eventHandled = false;        private static int elapsedTime = 0;        private static Queue<string> fifo = null;        [DllImport("user32.dll", CharSet = CharSet.Unicode, SetLastError = true)]        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]        public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpClassName, string lpWindowName);        [DllImport("user32.dll", CharSet = CharSet.Unicode, SetLastError = true)]        public static extern IntPtr FindWindowEx(IntPtr hwndParent, uint hwndChildAfter, string lpszClass, string lpszWindow);        [DllImport("user32.dll", CharSet = CharSet.Unicode)]        private static extern int GetWindowTextLength(IntPtr hWnd);        [DllImport("user32.dll", CharSet = CharSet.Unicode)]        private static extern int GetWindowText(IntPtr hWnd, StringBuilder strText, int maxCount);        [DllImport("user32.dll")]        [return: MarshalAs(UnmanagedType.Bool)]        public static extern bool SetForegroundWindow(IntPtr hWnd);        [DllImport("user32.dll")]        public static extern int SetActiveWindow(IntPtr hWnd);        [DllImport("user32.dll", CharSet = CharSet.Unicode)]        public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);        [DllImport("user32.dll")]        public static extern long EnumChildWindows(IntPtr hWndParent, Program.EnumChildWindowsProc lpEnumFunc, long lParam);        [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]        public static extern IntPtr GetParent(IntPtr hWnd);        [DllImport("user32.dll")]        public static extern bool EnumWindows(Program.EnumWindowsProc enumProc, IntPtr lParam);        [DllImport("user32.dll")]        public static extern IntPtr GetMenu(IntPtr hwnd);        [DllImport("user32.dll")]        public static extern IntPtr GetSubMenu(IntPtr hMenu, int nPos);        [DllImport("user32.dll")]        public static extern IntPtr GetMenuItemID(IntPtr hMenu, int nPos);        [DllImport("User32.dll")]        public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]        public static extern int SendMessage(IntPtr hwnd, uint wMsg, int wParam, int lParam);        [DllImport("User32.dll", EntryPoint = "SendMessage")]        public static extern int SendMessage2(IntPtr hWnd, uint Msg, IntPtr wParam, string lParam);        [DllImport("User32.dll", EntryPoint = "SendMessage")]        public static extern int SendMessage2(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);        [DllImport("user32.dll", CharSet = CharSet.Auto)]        public static extern bool SendMessage(IntPtr hWnd, uint Msg, int wParam, StringBuilder lParam);        [DllImport("user32.dll", SetLastError = true)]        public static extern IntPtr SendMessage(int hWnd, int Msg, int wparam, int lparam);        [DllImport("User32.dll")]        public static extern int PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);        [DllImport("User32.dll", EntryPoint = "PostMessage")]        public static extern int PostMessage2(IntPtr hWnd, int Msg, int wParam, string lParam);        public static IEnumerable<IntPtr> FindWindowsWithText(string titleText)        {            return Program.FindWindows((IntPtr wnd, IntPtr param) => Program.GetWindowText(wnd).Contains(titleText));        }        public static IEnumerable<IntPtr> FindWindows(Program.EnumWindowsProc filter)        {            IntPtr zero = IntPtr.Zero;            List<IntPtr> windows = new List<IntPtr>();            Program.EnumWindows(delegate(IntPtr wnd, IntPtr param)            {                if (filter(wnd, param))                {                    windows.Add(wnd);                }                return true;            }, IntPtr.Zero);            return windows;        }        public static string GetWindowText(IntPtr hWnd)        {            int windowTextLength = Program.GetWindowTextLength(hWnd);            string result;            if (windowTextLength > 0)            {                StringBuilder stringBuilder = new StringBuilder(windowTextLength + 1);                Program.GetWindowText(hWnd, stringBuilder, stringBuilder.Capacity);                result = stringBuilder.ToString();            }            else            {                result = string.Empty;            }            return result;        }        [DllImport("Kernel32")]        private static extern bool SetConsoleCtrlHandler(Program.EventHandler handler, bool add);        private static bool Handler(Program.CtrlType sig)        {            switch (sig)            {            case Program.CtrlType.CTRL_C_EVENT:            case Program.CtrlType.CTRL_BREAK_EVENT:            case Program.CtrlType.CTRL_CLOSE_EVENT:            case (Program.CtrlType)3:            case (Program.CtrlType)4:            case Program.CtrlType.CTRL_LOGOFF_EVENT:            case Program.CtrlType.CTRL_SHUTDOWN_EVENT:                return false;            }            return false;        }        [DllImport("kernel32.dll")]        private static extern IntPtr GetConsoleWindow();        [DllImport("user32.dll")]        private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);        private static void Main(string[] args)        {            if (args.Length != 0)            {                if (File.Exists(args[0]))                {                    Program.function(args[0]);                }                else if (Directory.Exists(args[0]))                {                    string[] files = Program.getFiles(args[0]);                    if (files.Length != 0)                    {                        Program.fifo = new Queue<string>(files);                        Program.function(Program.fifo.Dequeue());                    }                }            }        }        private static void function(string file)        {            string tmpDir = string.Empty;            string orginalDir = string.Empty;            string destFileName = string.Empty;            if (string.IsNullOrEmpty(file))            {                Console.WriteLine("请把要录制的程序拖进来");                Console.Read();            }            else            {                orginalDir = file.Substring(0, file.LastIndexOf("\\"));                Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  文件名 file :{1} orginalDir:{2}", DateTime.Now, file, orginalDir));                IntPtr hwndApplication = Program.FindWindow("TMainForm", null);                string windowText = Program.GetWindowText(hwndApplication);                if (hwndApplication == IntPtr.Zero || !windowText.Contains("屏幕录像专家"))                {                    Console.WriteLine("屏幕录像专家没有启动");                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  屏幕录像专家没有启动", DateTime.Now));                }                else                {                    Program.SetActiveWindow(hwndApplication);                    Program.SetForegroundWindow(hwndApplication);                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  激活屏幕录像专家并设置为活动状态", DateTime.Now));                    IntPtr consoleWindow = Program.GetConsoleWindow();                    Program.ShowWindow(consoleWindow, 0);                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  控制台:0x{1:X}已经隐藏!", DateTime.Now, consoleWindow.ToInt32()));                    IntPtr hwndParent = Program.FindWindowEx(hwndApplication, 0u, "TPageControl", null);                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  TPageControl:0x{1:X}", DateTime.Now, hwndParent.ToInt32()));                    IntPtr hwndParent2 = Program.FindWindowEx(hwndParent, 0u, "TTabSheet", "录像模式               ");                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  |-->TTabSheet[录像模式]:0x{1:X}", DateTime.Now, hwndParent2.ToInt32()));                    IntPtr hwndParent3 = Program.FindWindowEx(hwndParent2, 0u, "TPageControl", null);                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  |---->TPageControl:0x{1:X}", DateTime.Now, hwndParent3.ToInt32()));                    IntPtr hWndParent = Program.FindWindowEx(hwndParent3, 0u, "TTabSheet", "基本设置");                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  |------>TTabSheet[基本设置]:0x{1:X}", DateTime.Now, hWndParent.ToInt32()));                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  开始枚举TTabSheet[基本设置]子窗体", DateTime.Now));                    Program.EnumChildWindows(hWndParent, delegate(IntPtr hWnd, int lParam)                    {                        StringBuilder stringBuilder = new StringBuilder();                        StringBuilder stringBuilder2 = new StringBuilder();                        string windowText2 = Program.GetWindowText(hWnd);                        Program.GetClassName(hWnd, stringBuilder2, 50);                        Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  class:{1} text:{2}", DateTime.Now, stringBuilder2, windowText2));                        if (stringBuilder2.ToString() == "TEdit")                        {                            int num = Program.SendMessage(hWnd, 14, 0, 0);                            Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  发送WM_GETTEXTLENGTH消息到TEdit:0x{1:X}, message: 0,0", DateTime.Now, hWnd.ToInt32()));                            if (num > 0)                            {                                stringBuilder = new StringBuilder(num + 1);                                Program.SendMessage(hWnd, 13u, stringBuilder.Capacity, stringBuilder);                                Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  发送WM_GETTEXT消息到TEdit:0x{1:X}, message:{2}", DateTime.Now, hWnd.ToInt32(), stringBuilder));                                string text = stringBuilder.ToString();                                Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  class:TEdit title:{1} WM_GETTEXTLENGTH:{2}", DateTime.Now, text, num));                                if (text.Contains("\\"))                                {                                    tmpDir = text;                                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  tmpDir:{1}", DateTime.Now, tmpDir));                                }                                if (!text.Contains("\\") && !Regex.IsMatch(text, "^\\d{1,}$"))                                {                                    string[] array = file.Split(new string[]                                    {                                        "\\",                                        "."                                    }, StringSplitOptions.None);                                    string text2 = array[array.Length - 2];                                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  删除临时文件:{1}", DateTime.Now, tmpDir + "\\" + destFileName));                                    if (File.Exists(tmpDir + "\\" + destFileName))                                    {                                        File.Exists(tmpDir + "\\" + destFileName);                                    }                                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  destFile:{1}", DateTime.Now, text2));                                    destFileName = text2 + ".avi";                                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  destFileName:{1}", DateTime.Now, destFileName));                                    Program.SendMessage2(hWnd, 12, IntPtr.Zero, text2);                                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  发送WM_SETTEXT消息到TEdit:0x{1:X}, message:{2}", DateTime.Now, hWnd.ToInt32(), text2));                                    Program.SendMessage(hWnd, 26, 0, 0);                                }                            }                        }                        return true;                    }, 0L);                    Program.PostMessage(hwndApplication, 786, 0, 113);                    Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  [开始录制]发送WM_HOTKEY消息到TMainForm:0x{1:X}, message:0,{2}", DateTime.Now, hwndApplication.ToInt32(), 113));                    Process process = new Process();                    process.StartInfo.FileName = file;                    process.StartInfo.CreateNoWindow = true;                    process.EnableRaisingEvents = true;                    process.Exited += delegate(object o, EventArgs e)                    {                        Program.SendMessage(hwndApplication, 786, 0, 113);                        Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  [录制结束]发送WM_HOTKEY消息到TMainForm:0x{1:X}, message:0,{2}", DateTime.Now, hwndApplication.ToInt32(), 113));                        Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]  删除上一次生成的文件:{1}", DateTime.Now, orginalDir + "\\" + destFileName));                        if (tmpDir != orginalDir + "\\")                        {                            if (File.Exists(orginalDir + "\\" + destFileName))                            {                                File.Delete(orginalDir + "\\" + destFileName);                            }                            File.Move(tmpDir + "\\" + destFileName, orginalDir + "\\" + destFileName);                        }                        if (Program.fifo != null && Program.fifo.Count > 0)                        {                            Program.function(Program.fifo.Dequeue());                        }                        else                        {                            Program.eventHandled = true;                        }                    };                    Program._handler = (Program.EventHandler)Delegate.Combine(Program._handler, new Program.EventHandler(delegate(Program.CtrlType sig)                    {                        Program.PostMessage(hwndApplication, 786, 0, 113);                        return Program.Handler(sig);                    }));                    Program.SetConsoleCtrlHandler(Program._handler, true);                    try                    {                        process.Start();                    }                    catch (Exception ex)                    {                        Console.WriteLine("{0} {1}", ex.Message, ex.Data);                        Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]   error:{1}\r\n{2}", DateTime.Now, ex.Message, ex.Data));                    }                    IntPtr value = Program.FindWindow("TPlayForm", null);                    if (value =http://www.mamicode.com/= IntPtr.Zero)                    {                        Console.WriteLine("录像启动失败!");                    }                    else                    {                        Console.WriteLine("正在录制:{0}", file);                        Program.Log(string.Format("[{0:yyyy-MM-dd HH:mm:ss fff}]   正在录制:{1}", DateTime.Now, file));                        while (!Program.eventHandled)                        {                            Program.elapsedTime += 1000;                        }                    }                }            }        }        private static void Log(string LogString)        {            using (StreamWriter streamWriter = new StreamWriter(Environment.CurrentDirectory + "\\log.txt", true))            {                streamWriter.WriteLine(LogString);            }        }        private static string[] getFiles(string dir)        {            return Directory.GetFiles(dir, "*.exe", SearchOption.TopDirectoryOnly);        }    }}

这是生成的一些日志

[2017-06-22 18:43:29 984]  文件名 file :E:\21b.exe orginalDir:E:[2017-06-22 18:43:30 167]  屏幕录像专家没有启动[2017-06-22 18:43:45 445]  文件名 file :E:\21b.exe orginalDir:E:[2017-06-22 18:43:45 450]  屏幕录像专家没有启动[2017-06-22 18:44:31 948]  文件名 file :E:\21b.exe orginalDir:E:[2017-06-22 18:44:31 952]  屏幕录像专家没有启动[2017-06-22 18:45:17 857]  文件名 file :E:\21b.exe orginalDir:E:[2017-06-22 18:45:17 861]  激活屏幕录像专家并设置为活动状态[2017-06-22 18:45:17 864]  控制台:0x3403FA已经隐藏![2017-06-22 18:45:17 914]  TPageControl:0x150828[2017-06-22 18:45:17 915]  |-->TTabSheet[录像模式]:0x120824[2017-06-22 18:45:17 916]  |---->TPageControl:0x1807D0[2017-06-22 18:45:17 936]  |------>TTabSheet[基本设置]:0x80802[2017-06-22 18:45:17 937]  开始枚举TTabSheet[基本设置]子窗体[2017-06-22 18:45:18 048]  class:TRadioButton text:LXE[2017-06-22 18:45:18 049]  class:TRadioButton text:WMV[2017-06-22 18:45:18 049]  class:TCheckBox text:录透明窗体(光标会闪)[2017-06-22 18:45:18 049]  class:TCheckBox text:录制视频[2017-06-22 18:45:18 050]  class:TRadioButton text:EXE[2017-06-22 18:45:18 050]  class:TRadioButton text:AVI[2017-06-22 18:45:18 051]  class:TCheckBox text:自设信息[2017-06-22 18:45:18 051]  class:TCheckBox text:直接录制生成[2017-06-22 18:45:18 052]  class:TGroupBox text:录制频率(帧率)[2017-06-22 18:45:18 052]  class:TCheckBox text:帧率过大,自动停止录制[2017-06-22 18:45:18 053]  class:TCheckBox text:自动[2017-06-22 18:45:18 053]  class:TEdit text:5[2017-06-22 18:45:18 054]  发送WM_GETTEXTLENGTH消息到TEdit:0x140788, message: 0,0[2017-06-22 18:45:18 055]  发送WM_GETTEXT消息到TEdit:0x140788, message:5[2017-06-22 18:45:18 055]  class:TEdit title:5 WM_GETTEXTLENGTH:1[2017-06-22 18:45:18 095]  class:TCheckBox text:同时录制光标[2017-06-22 18:45:18 096]  class:TCheckBox text:同时录制声音[2017-06-22 18:45:18 096]  class:TEdit text:[2017-06-22 18:45:18 097]  发送WM_GETTEXTLENGTH消息到TEdit:0xB02AE, message: 0,0[2017-06-22 18:45:18 098]  发送WM_GETTEXT消息到TEdit:0xB02AE, message:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls[2017-06-22 18:45:18 098]  class:TEdit title:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls\ WM_GETTEXTLENGTH:54[2017-06-22 18:45:18 098]  tmpDir:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls[2017-06-22 18:45:18 099]  class:TEdit text:[2017-06-22 18:45:18 099]  发送WM_GETTEXTLENGTH消息到TEdit:0x1E009C, message: 0,0[2017-06-22 18:45:18 100]  发送WM_GETTEXT消息到TEdit:0x1E009C, message:录像1[2017-06-22 18:45:18 100]  class:TEdit title:录像1 WM_GETTEXTLENGTH:5[2017-06-22 18:45:18 136]  删除临时文件:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls\[2017-06-22 18:45:18 136]  destFile:21b[2017-06-22 18:45:18 137]  destFileName:21b.avi[2017-06-22 18:45:18 137]  发送WM_SETTEXT消息到TEdit:0x1E009C, message:21b[2017-06-22 18:45:18 138]  [开始录制]发送WM_HOTKEY消息到TMainForm:0x1205D4, message:0,113[2017-06-22 18:45:18 562]   正在录制:E:\21b.exe[2017-06-22 18:45:25 341]  [录制结束]发送WM_HOTKEY消息到TMainForm:0x1205D4, message:0,113[2017-06-22 18:45:25 341]  删除上一次生成的文件:E:\21b.avi[2017-06-22 18:54:19 182]  文件名 file :E:\21b.exe orginalDir:E:[2017-06-22 18:54:19 185]  激活屏幕录像专家并设置为活动状态[2017-06-22 18:54:19 198]  控制台:0xB0904已经隐藏![2017-06-22 18:54:19 199]  TPageControl:0xA0892[2017-06-22 18:54:19 200]  |-->TTabSheet[录像模式]:0x60938[2017-06-22 18:54:19 200]  |---->TPageControl:0x28079E[2017-06-22 18:54:19 200]  |------>TTabSheet[基本设置]:0x40956[2017-06-22 18:54:19 200]  开始枚举TTabSheet[基本设置]子窗体[2017-06-22 18:54:19 203]  class:TRadioButton text:LXE[2017-06-22 18:54:19 203]  class:TRadioButton text:WMV[2017-06-22 18:54:19 204]  class:TCheckBox text:录透明窗体(光标会闪)[2017-06-22 18:54:19 205]  class:TCheckBox text:录制视频[2017-06-22 18:54:19 205]  class:TRadioButton text:EXE[2017-06-22 18:54:19 205]  class:TRadioButton text:AVI[2017-06-22 18:54:19 206]  class:TCheckBox text:自设信息[2017-06-22 18:54:19 206]  class:TCheckBox text:直接录制生成[2017-06-22 18:54:19 206]  class:TGroupBox text:录制频率(帧率)[2017-06-22 18:54:19 207]  class:TCheckBox text:帧率过大,自动停止录制[2017-06-22 18:54:19 207]  class:TCheckBox text:自动[2017-06-22 18:54:19 207]  class:TEdit text:5[2017-06-22 18:54:19 208]  发送WM_GETTEXTLENGTH消息到TEdit:0x7602F4, message: 0,0[2017-06-22 18:54:19 212]  发送WM_GETTEXT消息到TEdit:0x7602F4, message:5[2017-06-22 18:54:19 213]  class:TEdit title:5 WM_GETTEXTLENGTH:1[2017-06-22 18:54:19 214]  class:TCheckBox text:同时录制光标[2017-06-22 18:54:19 214]  class:TCheckBox text:同时录制声音[2017-06-22 18:54:19 214]  class:TEdit text:[2017-06-22 18:54:19 215]  发送WM_GETTEXTLENGTH消息到TEdit:0x1A078C, message: 0,0[2017-06-22 18:54:19 219]  发送WM_GETTEXT消息到TEdit:0x1A078C, message:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls[2017-06-22 18:54:19 220]  class:TEdit title:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls\ WM_GETTEXTLENGTH:54[2017-06-22 18:54:19 220]  tmpDir:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls[2017-06-22 18:54:19 220]  class:TEdit text:[2017-06-22 18:54:19 221]  发送WM_GETTEXTLENGTH消息到TEdit:0x40958, message: 0,0[2017-06-22 18:54:19 222]  发送WM_GETTEXT消息到TEdit:0x40958, message:录像1[2017-06-22 18:54:19 223]  class:TEdit title:录像1 WM_GETTEXTLENGTH:5[2017-06-22 18:54:19 223]  删除临时文件:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls\[2017-06-22 18:54:19 223]  destFile:21b[2017-06-22 18:54:19 224]  destFileName:21b.avi[2017-06-22 18:54:19 224]  发送WM_SETTEXT消息到TEdit:0x40958, message:21b[2017-06-22 18:54:19 224]  [开始录制]发送WM_HOTKEY消息到TMainForm:0x30032A, message:0,113[2017-06-22 18:54:19 373]   正在录制:E:\21b.exe[2017-06-22 18:54:45 420]  [录制结束]发送WM_HOTKEY消息到TMainForm:0x30032A, message:0,113[2017-06-22 18:54:45 421]  删除上一次生成的文件:E:\21b.avi[2017-06-22 18:55:41 722]  文件名 file :E:\21b.exe orginalDir:E:[2017-06-22 18:55:41 726]  激活屏幕录像专家并设置为活动状态[2017-06-22 18:55:41 730]  控制台:0x1905D4已经隐藏![2017-06-22 18:55:41 730]  TPageControl:0x31032A[2017-06-22 18:55:41 731]  |-->TTabSheet[录像模式]:0x5094E[2017-06-22 18:55:41 731]  |---->TPageControl:0x50952[2017-06-22 18:55:41 731]  |------>TTabSheet[基本设置]:0xD0774[2017-06-22 18:55:41 731]  开始枚举TTabSheet[基本设置]子窗体[2017-06-22 18:55:41 734]  class:TRadioButton text:LXE[2017-06-22 18:55:41 734]  class:TRadioButton text:WMV[2017-06-22 18:55:41 735]  class:TCheckBox text:录透明窗体(光标会闪)[2017-06-22 18:55:41 735]  class:TCheckBox text:录制视频[2017-06-22 18:55:41 735]  class:TRadioButton text:EXE[2017-06-22 18:55:41 792]  class:TRadioButton text:AVI[2017-06-22 18:55:41 793]  class:TCheckBox text:自设信息[2017-06-22 18:55:41 793]  class:TCheckBox text:直接录制生成[2017-06-22 18:55:41 794]  class:TGroupBox text:录制频率(帧率)[2017-06-22 18:55:41 794]  class:TCheckBox text:帧率过大,自动停止录制[2017-06-22 18:55:41 794]  class:TCheckBox text:自动[2017-06-22 18:55:41 795]  class:TEdit text:5[2017-06-22 18:55:41 795]  发送WM_GETTEXTLENGTH消息到TEdit:0x1905D2, message: 0,0[2017-06-22 18:55:41 796]  发送WM_GETTEXT消息到TEdit:0x1905D2, message:5[2017-06-22 18:55:41 796]  class:TEdit title:5 WM_GETTEXTLENGTH:1[2017-06-22 18:55:41 797]  class:TCheckBox text:同时录制光标[2017-06-22 18:55:41 798]  class:TCheckBox text:同时录制声音[2017-06-22 18:55:41 798]  class:TEdit text:[2017-06-22 18:55:41 798]  发送WM_GETTEXTLENGTH消息到TEdit:0xD08AE, message: 0,0[2017-06-22 18:55:41 799]  发送WM_GETTEXT消息到TEdit:0xD08AE, message:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls[2017-06-22 18:55:41 799]  class:TEdit title:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls\ WM_GETTEXTLENGTH:54[2017-06-22 18:55:41 800]  tmpDir:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls[2017-06-22 18:55:41 800]  class:TEdit text:[2017-06-22 18:55:41 800]  发送WM_GETTEXTLENGTH消息到TEdit:0xE07E0, message: 0,0[2017-06-22 18:55:41 801]  发送WM_GETTEXT消息到TEdit:0xE07E0, message:录像1[2017-06-22 18:55:41 801]  class:TEdit title:录像1 WM_GETTEXTLENGTH:5[2017-06-22 18:55:41 802]  删除临时文件:D:\Program Files\tlxsoft\屏幕录像专家 共享版 V2015\ls\[2017-06-22 18:55:41 802]  destFile:21b[2017-06-22 18:55:41 802]  destFileName:21b.avi[2017-06-22 18:55:41 803]  发送WM_SETTEXT消息到TEdit:0xE07E0, message:21b[2017-06-22 18:55:41 804]  [开始录制]发送WM_HOTKEY消息到TMainForm:0x50946, message:0,113[2017-06-22 18:55:42 034]   正在录制:E:\21b.exe[2017-06-22 18:58:14 397]  [录制结束]发送WM_HOTKEY消息到TMainForm:0x50946, message:0,113[2017-06-22 18:58:14 397]  删除上一次生成的文件:E:\21b.avi[2017-06-23 22:49:59 200]  文件名 file :E:\21b.exe orginalDir:E:[2017-06-23 22:50:01 197]  屏幕录像专家没有启动[2017-06-23 22:51:56 512]  文件名 file :E:\21b.exe orginalDir:E:[2017-06-23 22:51:56 518]  屏幕录像专家没有启动[2017-06-23 23:00:48 900]  文件名 file :E:\21b.exe orginalDir:E:[2017-06-23 23:00:49 559]  屏幕录像专家没有启动

 

屏幕录像专家exe视频批量翻录成视频avi格式