×

Software robots for programmatically controlling computer programs to perform tasks

  • US 10,671,235 B2
  • Filed: 03/03/2016
  • Issued: 06/02/2020
  • Est. Priority Date: 03/03/2015
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • at least one computer hardware processor; and

    at least one computer-readable storage medium storing;

    a computer program for controlling multiple application programs to perform a task comprising a first sub-task to be performed by a first application program and a second sub-task to be performed by a second application program; and

    processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform;

    generating an object hierarchy comprising;

    a first plurality of objects corresponding to a first plurality of active graphical user interface (GUI) elements of the first application program, wherein;



    the first application program is configured to execute by using a first GUI application library, and 

    the first plurality of active GUI elements comprise at least one active GUI element contained within an outer container of a first graphical user interface through which user input for controlling the first application program can be provided, anda second plurality of objects corresponding to a second plurality of active GUI elements of the second application program, wherein;



    the second application program is configured to execute by using a second GUI application library that is different than the first GUI application library, and 

    the second plurality of active GUI elements comprise at least one active GUI element within an outer container of a second graphical user interface through which user input for controlling the second application program can be provided;

    controlling the first application program to perform the first sub-task using the computer program and the object hierarchy at least in part by;

    using a first object of the first plurality of objects to cause, via a first active GUI element of the first plurality of active GUI elements, the first application program to at least partially perform a first action in furtherance of the first sub-task, the first action programmatically emulating a user'"'"'s interaction with the first active GUI element, wherein programmatically emulating the user'"'"'s interaction with the first active GUI element comprises invoking one or more functions of the first application program or an operating system managing execution of the first application program to cause the first application program to perform the first action using the first active GUI element; and

    controlling the second application program to perform the second sub-task using the computer program and the object hierarchy at least in part by;

    using a second object of the second plurality of objects to cause, via a second active GUI element of the second plurality of active GUI elements, the second application program to at least partially perform a second action in furtherance of the second sub-task, the second action programmatically emulating the user'"'"'s interaction with the second active GUI element, wherein programmatically emulating the user'"'"'s interaction with the second active GUI element comprises invoking one or more functions of the second application program or an operating system managing execution of the second application program to cause the second application program to perform the second action using the second active GUI element.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×