 <p>Solved thanks to David Heffernan.</p> <p>On my main window i added a static window field which references my main window.</p> <pre><code>public static Window main; Public MainWindow() { main = this; } </code></pre> <p>On the windows I need to hide from task manager and ALT+TAB, I made my main window its owner:</p> <pre><code>public HiddenWindow() { this.Owner = MainWindow.main; } </code></pre> <p>Its really simple, it hides the window from the 'tasks' tab on task manager and also stop people from ALT+TABing into your program.</p>