/// <summary>
 /// 记录鼠标
 /// </summary>
 /// <param name="e"></param>
 private void MouseHookMouseLog(HookMouseEventArgs e)
 {
     XPosition = e.XPosition;
     YPositoin = e.YPosition;
     if (e.ClickButton == MouseButton.Left && e.MouseEventType == MouseEventType.MouseDown)
     {
         MouseHisDataList.Add(e);
     }
 }
Beispiel #2
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 #3
0
 /// <summary>
 /// 记录鼠标
 /// </summary>
 /// <param name="e"></param>
 private void MouseHookMouseLog(HookMouseEventArgs e)
 {
     MouseHisDataList.Add(e);
     CustomEventLogger.LogMouseEvent(e);
 }