private void ExecuteCommand(ProgramCommand programCommand) { string command = programCommand.Domain + "/" + programCommand.Target + "/" + programCommand.CommandString + "/" + System.Uri.EscapeDataString(programCommand.CommandArguments); var interfaceCommand = new MigInterfaceCommand(command); homegenie.InterfaceControl(interfaceCommand); }
//parse responze private void ParseResponse() { if (_responseText.Contains("компьютер")) { if (_responseText.Contains("открыть") && _responseText.Contains("текстовый") && _responseText.Contains("редактор")) { PCom = ProgramCommand.OpenTxt; } if (_responseText.Contains("закрыть")) { PCom = ProgramCommand.Exit; } if (_responseText.Contains("переключится")) { PCom = ProgramCommand.Change; } if (_responseText.Contains("открыть") && _responseText.Contains("файловый") && _responseText.Contains("менеджер")) { PCom = ProgramCommand.OpenFm; } if (_responseText.Contains("закрыть") && _responseText.Contains("файловый") && _responseText.Contains("менеджер")) { PCom = ProgramCommand.ExitFm; } } else { if (_responseText.Contains("выключить") && _responseText.Contains("набор") && _responseText.Contains("текста")) MCommand = MenuCommand.NotEnterTxt; else if (IsOpenTextEditor == true && EnterText==true) { Text = _responseText; } else if (_responseText.Contains("создать")) MCommand = MenuCommand.Create; else if (_responseText.Contains("сохранить")) MCommand = MenuCommand.Save; else if (_responseText.Contains("сохранить") && _responseText.Contains("как")) MCommand = MenuCommand.SaveAs; else if (_responseText.Contains("печать")) MCommand = MenuCommand.Print; else if (_responseText.Contains("просмотр")) MCommand = MenuCommand.PreView; else if ( _responseText.Contains("набор") && _responseText.Contains("текста")) MCommand = MenuCommand.EnterTxt; } }
int ExecuteCommand(ProgramCommand cmd, uint arg1, uint arg2) { EnsureLoaded(); _Session.RunGDBCommand($"-gdb-set $sp=0x{EndOfStack:x8}", false); _Session.RunGDBCommand($"-gdb-set $pc=0x{EntryPoint:x8}", false); _Session.RunGDBCommand($"-gdb-set $r0=0x{(int)cmd:x8}", false); _Session.RunGDBCommand($"-gdb-set $r1=0x{arg1:x8}", false); _Session.RunGDBCommand($"-gdb-set $r2=0x{arg2:x8}", false); _Session.ResumeAndWaitForStop(_Settings.ProgramTimeout); string result = _Session.EvaluateExpression($"*((int *)0x{Result:x8})"); if (int.TryParse(result, out var t)) { return(t); } throw new Exception("Failed to parse algorithm result: " + result); }
public void ClearAllCommands() { PCom = ProgramCommand.None; MCommand = MenuCommand.None; Text = ""; }