public void UpdateWheelData(int delta) { string wdata = ConstVariables.WHEEL; int nPos1 = _strXmlNode.IndexOf("wheel=\"") + "wheel=\"".Length; int nPos2 = _strXmlNode.IndexOf("\">", nPos1); if (nPos2 > nPos1) { wdata = _strXmlNode.Substring(nPos1, nPos2 - nPos1); int nCurData = 0; if (int.TryParse(wdata, out nCurData)) { delta += nCurData; } } _nDeltaX += 1; _nDeltaY = delta; string strdelta = $"wheel=\"{delta}\""; wdata = $"wheel=\"{wdata}\""; _strXmlNode = _strXmlNode.Replace(wdata, strdelta); _uiTaskName = UiTaskName.MouseWheel; _strDescription = null; }
public void DragComplete(int deltaX, int deltaY) { _nDeltaX = deltaX; _nDeltaY = deltaY; string strDeltaX = deltaX.ToString(); string strDeltaY = deltaY.ToString(); string strUpdated = ReplaceLastWith(_strXmlNode, ConstVariables.DELTAX, strDeltaX); _strXmlNode = ReplaceLastWith(strUpdated, ConstVariables.DELTAY, strDeltaY); _uiTaskName = UiTaskName.Drag; _strDescription = null; }
public RecordedUiTask(string strXmlNode, int nTick, UiTaskName taskName) { _uiTaskName = taskName; _strXmlNode = strXmlNode; _tickCount = nTick == 0 ? Environment.TickCount : nTick; }
public void ChangeClickToDoubleClick() { _strXmlNode = ReplaceLastWith(_strXmlNode, UiTaskName.LeftClick.ToString(), UiTaskName.LeftDblClick.ToString()); _uiTaskName = UiTaskName.LeftDblClick; _strDescription = null; }
public string GetDescription() { if (_strDescription == null) { XmlDocument xmlDocument = new XmlDocument(); try { xmlDocument.LoadXml(_strXmlNode); } catch (Exception ex) { return(ex.ToString()); } XmlNodeList uiTasks = xmlDocument.GetElementsByTagName("UiTask"); if (uiTasks.Count == 1) { string strTask = uiTasks[0].Attributes["task"].Value; _uiTaskName = ConstVariables.FromStringTaskName(strTask); if (_uiTaskName == UiTaskName.KeyboardInput) { _strBase64Text = uiTasks[0].Attributes["base64String"].Value; var varCapLock = uiTasks[0].Attributes["CapsLock"].Value; if (varCapLock != null) { _bCapsLock = Convert.ToBoolean(varCapLock); } var varNumLock = uiTasks[0].Attributes["NumLock"].Value; if (varNumLock != null) { _bNumLock = Convert.ToBoolean(varNumLock); } var varScrollLock = uiTasks[0].Attributes["ScrollLock"].Value; if (varScrollLock != null) { _bScrollLock = Convert.ToBoolean(varScrollLock); } var keyboardTaskDescription = GenerateCSCode.GetDecodedKeyboardInput(_strBase64Text, _bCapsLock, _bNumLock, _bScrollLock); StringBuilder sb = new StringBuilder(); foreach (var strLine in keyboardTaskDescription) { sb.Append(strLine); } _strDescription = $"{_uiTaskName} VirtualKeys=\"{sb.ToString()}\" CapsLock={_bCapsLock} NumLock={_bNumLock} ScrollLock={_bScrollLock}"; } else { var vleft = uiTasks[0].Attributes["x"]; _strLeft = vleft != null ? vleft.Value : ""; var vtop = uiTasks[0].Attributes["y"]; _strTop = vtop != null ? vtop.Value : ""; string name = uiTasks[0].LastChild.Attributes[ConstVariables.Name].Value; if (string.IsNullOrEmpty(name)) { name = uiTasks[0].LastChild.Attributes[ConstVariables.AutomationId].Value; if (string.IsNullOrEmpty(name)) { name = uiTasks[0].Name; } } if (_uiTaskName == UiTaskName.Drag || _uiTaskName == UiTaskName.MouseWheel) { _strDescription = $"{_uiTaskName} on \"{name}\" at ({_strLeft},{_strTop}) drag ({_nDeltaX},{_nDeltaY})"; } else { _strDescription = $"{_uiTaskName} on \"{name}\" at ({_strLeft},{_strTop})"; } } } } return(_strDescription); }