Use SendKeys.Flush to wait for the application to process keystrokes and other operating system messages that are in the message queue. This is equivalent to calling Application.DoEvents until there are no more keys to process.
Because there is no managed method to activate another application, you can either use this class within the current application or use native Windows methods, such as FindWindow and SetForegroundWindow, to force focus on other applications.