Method of hosting a first application in a second application
First Claim
1. A computer executable method for use with a first application, second application, and a virtual runtime engine, both the virtual runtime engine and the second application executing on a host operating system that is executing on a computing device, the first application being configured to generate a first user interface, the second application displaying a second user interface, the second user interface being different from the first user interface, the method comprising:
- initiating, by the computing device, execution of the first application by the virtual runtime engine, the virtual runtime engine comprising a plurality of hooks, the first application comprising one or more threads, and the virtual runtime engine comprising a corresponding hook procedure for each of the one or more threads, each hook procedure being executable by a corresponding one of the hooks, the corresponding hook being configured to monitor the thread for user interface messages created by the first application, the corresponding hook triggering the execution of the corresponding hook procedure whenever the corresponding hook detects a user interface message has been generated by the thread, when executed, the corresponding hook procedure providing an indication to a third application executing on the computing device that a user interface message has been generated;
receiving, by the third application executing on the computing device, an indication that a user interface message has been generated by the first application, the user interface message comprising instructions to generate or modify the first user interface, neither the first application nor the host operating system generating or displaying the first user interface;
generating, by the third application executing on the computing device, at least one user interface command for the second user interface, the at least one user interface command being generated based on the indication that the user interface message had been generated by the first application; and
sending, by the third application executing on the computing device, the at least one user interface command to the second application, the at least one user interface command being configured to cause the second application to modify the second user interface.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of hosting a first application (e.g., a virtual application) inside a second application (e.g., a control displayed by a web browser). The method includes executing the first application inside a runtime environment generated at least in part by a runtime engine. The executing first application calls user interface functions that when executed inside the runtime environment generate a first user interface. The runtime engine captures these calls, generates messages comprising information associated with the captured calls, and forwards the messages to a user interface manager that is a separate application from the runtime engine. The user interface manager receives the messages, translates the information associated with the captured calls into instructions for the second application, and sends the instructions to the second application. The control receives the instructions sent by the user interface manager, and displays a second user interface for the first application based on the instructions.
-
Citations
19 Claims
-
1. A computer executable method for use with a first application, second application, and a virtual runtime engine, both the virtual runtime engine and the second application executing on a host operating system that is executing on a computing device, the first application being configured to generate a first user interface, the second application displaying a second user interface, the second user interface being different from the first user interface, the method comprising:
-
initiating, by the computing device, execution of the first application by the virtual runtime engine, the virtual runtime engine comprising a plurality of hooks, the first application comprising one or more threads, and the virtual runtime engine comprising a corresponding hook procedure for each of the one or more threads, each hook procedure being executable by a corresponding one of the hooks, the corresponding hook being configured to monitor the thread for user interface messages created by the first application, the corresponding hook triggering the execution of the corresponding hook procedure whenever the corresponding hook detects a user interface message has been generated by the thread, when executed, the corresponding hook procedure providing an indication to a third application executing on the computing device that a user interface message has been generated; receiving, by the third application executing on the computing device, an indication that a user interface message has been generated by the first application, the user interface message comprising instructions to generate or modify the first user interface, neither the first application nor the host operating system generating or displaying the first user interface; generating, by the third application executing on the computing device, at least one user interface command for the second user interface, the at least one user interface command being generated based on the indication that the user interface message had been generated by the first application; and sending, by the third application executing on the computing device, the at least one user interface command to the second application, the at least one user interface command being configured to cause the second application to modify the second user interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer executable method performed by a runtime engine executing on a host operating system implemented on a computing device, the runtime engine being configured to provide at least a portion of a runtime environment, the method comprising:
-
executing, on the computing device, an application inside the runtime environment provided at least in part by the runtime engine, the application being configured to instruct the runtime environment to generate a first user interface when executing, the application comprising one or more threads; setting up a corresponding hook procedure, by a management process executing on the computing device, for each of the one or more threads of the application, each corresponding hook procedure being executable by a corresponding hook configured to monitor the thread for user interface messages generated by the executing application, the corresponding hook triggering the execution of the corresponding hook procedure whenever the corresponding hook detects a user interface message, when executed, the corresponding hook procedure captures the user interface messages generated by the executing application, the user interface message including instructions to the runtime environment to generate or modify the first user interface, the capturing of the user interface message preventing the generation and modification of the first user interface by the first application and the host operating system; sending, by the management process executing on the computing device, the captured user interface message to an external process executing on the computing device, the external process being configured to generate a second user interface different from the first user interface, both the external process and the second user interface executing outside the portion of the runtime environment provided by the runtime engine; receiving, by the management process executing on the computing device, one or more application programming messages from the external process in response to having sent the captured user interface message to the external process; and calling, by the management process executing on the computing device, inside the runtime environment, one or more application programming interfaces associated with a first portion of the one or more application programming messages. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer executable method comprising:
-
executing an application inside a runtime environment generated at least in part by a runtime engine, the runtime engine comprising a plurality of hooks, the application comprising one or more threads and calling user interface functions that when executed inside the runtime environment generate a first user interface, the runtime engine comprising a hook procedure for each of the one or more threads, each hook procedure being executable by a corresponding one of the hooks, the corresponding hook being configured to monitor the corresponding thread for calls to the user interface functions, the corresponding hook triggering the execution of the hook procedure whenever the corresponding hook detects that one of the user interface functions has been called by the corresponding thread, when executed, the hook procedure generates a message comprising information associated with the call that triggered execution of the hook procedure, the runtime engine forwarding the message to a user interface manager, the user interface manager being a separate application from the runtime engine; receiving the message at the user interface manager, the user interface manager translating the information associated with the call into instructions for a control displayed by a web browser, and sending the instructions to the control; and receiving, at the control, the instructions sent by the user interface manager, the control displaying a second user interface for the application based on the instructions. - View Dependent Claims (18, 19)
-
Specification