Beispiel #1
0
 /// <summary>
 /// 清空历史记录
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ClearHisMenuItem_OnClick(object sender, RoutedEventArgs e)
 {
     //--清空历史记录--
     KeyHisDataList.Clear();
     //--清空历史记录--
     MouseHisDataList.Clear();
 }
Beispiel #2
0
 /// <summary>
 /// 保存日志
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void SaveLogMenuItem_OnClick(object sender, RoutedEventArgs e)
 {
     CustomEventLogger.WriteLog();
     CustomEventLogger.SaveHisLog(MouseHisDataList.ToList());
     CustomEventLogger.SaveHisLog(KeyHisDataList.ToList());
     MessageBox.Show("保存成功!", "恭喜", MessageBoxButton.OK, MessageBoxImage.Information);
 }
Beispiel #3
0
        /// <summary>
        /// 删除鼠标记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DeleteMenuItem_Mouse_OnClick(object sender, RoutedEventArgs e)
        {
            var selectedItems = new List <HookFile>();

            foreach (var selectedItem in MouseHisDataGrid.SelectedItems)
            {
                var selectedHookFile = selectedItem as HookFile;
                if (selectedHookFile != null)
                {
                    selectedItems.Add(selectedHookFile);
                }
            }
            foreach (var selectedItem in selectedItems)
            {
                MouseHisDataList.Remove(selectedItem);
            }
        }
Beispiel #4
0
        /// <summary>
        /// 添加鼠标记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AddMenuItem_Mouse_OnClick(object sender, RoutedEventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Multiselect = false;
            dialog.Filter      = "db日志|*.db|所有文件|*.*";
            dialog.FilterIndex = 0;
            if (dialog.ShowDialog() == true)
            {
                var fileName = dialog.FileName;
                var fileData = new HookFile()
                {
                    FileName = fileName, OpDiffTime = 0
                };
                MouseHisDataList.Add(fileData);
            }
        }
Beispiel #5
0
        /// <summary>
        /// 获取鼠标组合后的结果
        /// </summary>
        /// <returns></returns>
        public IList <HookMouseEventArgs> GetMouseCombineResult()
        {
            var resultList = new List <HookMouseEventArgs>();

            if (MouseHisDataList.Count == 0)
            {
                return(resultList);
            }
            var firstHookFile = MouseHisDataList.First();//第一行记录
            var firstData     = CustomEventLogger.GetHookMouseEventArgses(firstHookFile.FileName);

            //第一行,直接加入集合
            foreach (var hookMouseEventArgse in firstData)
            {
                resultList.Add(hookMouseEventArgse);
            }
            foreach (var hookFile in MouseHisDataList)
            {
                var tmpData = CustomEventLogger.GetHookMouseEventArgses(hookFile.FileName); //当前行历史记录
                if (hookFile != firstHookFile)
                {                                                                           //重新根据diffTime组合
                    var tmp_Previous = tmpData.First();
                    foreach (var hookMouseEventArgse in tmpData)
                    {
                        var copyEvent    = HookMouseEventArgs.Copy(hookMouseEventArgse);           //拷贝新对象,用于新集合
                        var diffTimeSpan = copyEvent.EventTimeStamp - tmp_Previous.EventTimeStamp; //得出每次记录的间隔
                        if (tmp_Previous == tmpData.First())
                        {
                            diffTimeSpan = TimeSpan.FromMilliseconds(hookFile.OpDiffTime);             //新行的首次记录附加到前一个结果后面
                        }
                        copyEvent.EventTimeStamp = resultList.Last().EventTimeStamp.Add(diffTimeSpan); //重新设定新的时间戳
                        //--加入集合--
                        resultList.Add(copyEvent);
                        //-设置值-
                        tmp_Previous = hookMouseEventArgse;
                    }
                }
            }
            return(resultList);
        }
Beispiel #6
0
        /// <summary>
        /// 添加鼠标记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AddMenuItem_Mouse_OnClick(object sender, RoutedEventArgs e)
        {
            var selectedIndex = MouseHisDataGrid.SelectedIndex > 0 ? MouseHisDataGrid.SelectedIndex : 0;

            MouseHisDataList.Insert(selectedIndex, new HookMouseEventArgs());
        }
Beispiel #7
0
 /// <summary>
 /// 记录鼠标
 /// </summary>
 /// <param name="e"></param>
 private void MouseHookMouseLog(HookMouseEventArgs e)
 {
     MouseHisDataList.Add(e);
     CustomEventLogger.LogMouseEvent(e);
 }