屏幕錄像專家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 == 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]  屏幕錄像專家沒有啟動

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM