Ejemplo n.º 1
0
        public static async Task SendKeyBoardSequences(InputAction action)
        {
            await Task.Run(() =>
            {
                foreach (var sequenceItem in action.Sequences)
                {
                    if (sequenceItem.Entry.Key == null)
                        continue;

                    ExecuteSequenceItem(sequenceItem);
                }
            });
        }
Ejemplo n.º 2
0
 private void AddScripts(ZipFile zip, InputAction inputAction)
 {
     foreach (var scriptSequenceItem in inputAction.ScriptSequences)
     {
         var inputScript =
             scriptProvider.Scripts.FirstOrDefault(s => s.Name == scriptSequenceItem.ScriptName);
         if (inputScript == null)
             continue;
         zip.AddDirectoryByName(KeySndrApp.ScriptsFolderName + "\\Sources");
         foreach (var sourceFile in inputScript.SourceFiles)
         {
             zip.AddEntry(KeySndrApp.ScriptsFolderName + "\\Sources\\" + sourceFile.FileName, sourceFile.Contents);
         }
         zip.AddEntry(KeySndrApp.ScriptsFolderName + "\\" + inputScript.FileName, JsonSerializer.Serialize(inputScript));
     }
 }
Ejemplo n.º 3
0
        public static async Task Send(InputActionExecutionContainer container, InputAction action)
        {
            Log.Debug("Running action " + action.Name);
            if (action.OverrideProcess && !string.IsNullOrEmpty(action.ProcessName))
                SetTargetProcess(action);
            else if (container != null)
                SetTargetProcess(container);

            if (action.HasKeySequences)
                await SendKeyBoardSequences(action);
            if (action.HasMouseSequences)
                await SendMouseSequences(action);
            if (action.HasScriptSequences)
                await SendScripts(action);

            //if (container != null)
            //    SetTargetProcess(container);
        }
Ejemplo n.º 4
0
        public static async Task SendScripts(InputAction action)
        {
            await Task.Run(() =>
            {
                foreach (var scriptSequence in action.ScriptSequences)
                {
                    var ctx = ObjectFactory.GetProvider<IScriptProvider>().FindContextForName(scriptSequence.ScriptName);
                    if (!ctx.IsValid || !ctx.HasBeenExecuted)
                        continue;

                    try
                    {
                        ctx.Run();
                    }
                    catch (Exception e)
                    {
                        ObjectFactory.GetProvider<ILoggingProvider>().Error(e.Message, e);
                    }
                }
            });
        }
Ejemplo n.º 5
0
 public static async Task SendMouseSequences(InputAction action)
 {
     await Task.Run(() =>
     {
         foreach (var mouseSequenceItem in action.MouseSequences)
         {
             ExecuteMouseSequenceItem(mouseSequenceItem);
             Thread.Sleep(mouseSequenceItem.Time);
         }
     });
 }
Ejemplo n.º 6
0
 public static async Task Send(InputAction action)
 {
     await Send(null, action);
 }
Ejemplo n.º 7
0
        private static void SetTargetProcess(InputAction action)
        {
            var process = WinUtils.GetProcessByName(action.ProcessName);
            if (process == null)
                return;

            Sender.SetCurrentProcessTarget(process.MainWindowHandle);
            if (action.BringProcessToForeground)
                WindowsApi.SetForegroundWindow(process.MainWindowHandle);
            WindowsApi.SetFocus(process.MainWindowHandle);
        }
Ejemplo n.º 8
0
 public void AddAction(InputAction a)
 {
     Actions.Add(a);
 }
Ejemplo n.º 9
0
 protected bool Equals(InputAction other)
 {
     return Id.Equals(other.Id);
 }
Ejemplo n.º 10
0
 protected bool Equals(InputAction other)
 {
     return(Id.Equals(other.Id));
 }