1. A system comprising: at least one processor; and a memory storing executable code configured to execute on the at least one processor and computer-executable instructions that, when executed by the at least one processor, cause the system to: suspend execution of an application operating within an operating system; capture a runtime state of the application independently from a state of the operating system, the runtime state including first data including a first handle configured to identify a user interface resource in use by the application at a time the execution of the application is suspended; persist the runtime state; resume the execution of the application based at least in part on the runtime state, and after resuming the execution of the application: receive a request from the application for the user interface resource, the request identifying the resource by the first data including the first handle; translate the first data to second data, the second data including a second handle configured to identify the location of the user interface resource, or a different resource, at a time the execution of the application is resumed; and provide the application access to the resource or the different resource using the second data.