You see that in WinRT, your application is the largest application. And when your application is not the largest application, your threads will pause and the kernel will not schedule more operations for your application. The end of the story.
This means that what you want to accomplish cannot be accomplished in WinRT. You think more about a resident application or service that has access to the desktop. These applications have two advantages. 1) they always work. And, 2) they have an API to do what you want.
WinRT deliberately puts applications in the sandbox to ensure user safety, performance, and battery life. Your scenario and grades, like yours, underscore the ongoing need for desktop applications. (as long as there is a need for these types of applications;)).
Sorry if this is bad news.
Regarding the listing of other applications. It is also impossible. You cannot find out if another application is installed or if it is running. You can apply to another application through protocol activation or file activation or (in a certain sense) through a stock contract. But you do not know if they receive the message, and if the user installed it in the first place. And it is by design.
It should be mentioned that you can connect to the Win32 API in your WinRT application. This causes a lot of problems and can cause a headache in order to get certification in the store. But even then, not all APIs are open to you. And you will find that this particular use case is not a starter.
Jerry Nixon - MSFT
source share