/// <summary> /// 清空历史记录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ClearHisMenuItem_OnClick(object sender, RoutedEventArgs e) { //--清空历史记录-- KeyHisDataList.Clear(); //--清空历史记录-- MouseHisDataList.Clear(); }
/// <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); }
/// <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); } }
/// <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); } }
/// <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); }
/// <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()); }
/// <summary> /// 记录鼠标 /// </summary> /// <param name="e"></param> private void MouseHookMouseLog(HookMouseEventArgs e) { MouseHisDataList.Add(e); CustomEventLogger.LogMouseEvent(e); }