 <p>Since the Anniversary update, it is now possible to run background tasks from within the same process as the main app. Both the background task and the main app share the same memory. See <a href="https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-singleprocess-background-task" rel="nofollow">Create and register a single-process background task</a> for information on how to do this.</p> <p>If you want to keep the background task in a separate process to the main app, then you can use a named <a href="https://msdn.microsoft.com/en-us/library/41acw8ct.aspx" rel="nofollow">EventWaitHandle</a>:</p> <p><strong>Foreground app code</strong></p> <pre><code>// Keep this handle alive for the duration of your app eventHandle = new EventWaitHandle(true, EventResetMode.ManualReset, "MyApp"); </code></pre> <p><strong>Background app code</strong></p> <pre><code>EventWaitHandle handle; if (EventWaitHandle.TryOpenExisting("MyApp", out handle)) { // Foreground app is running } else { // Foreground app is not running } </code></pre> <p>You need to be mindful of possible race conditions here (if that is a problem for your situation). You could probably make better use of the EventWaitHandle to synchronize whatever file task it is both processes need to do.</p>