How to run something in the STA thread?
You can start STA Threads like so: Thread thread = new Thread(MethodWhichRequiresSTA); thread.SetApartmentState(ApartmentState.STA); //Set the thread to STA thread.Start(); thread.Join(); //Wait for the thread to end The only problem is that your result object must be passed along somehow.. You can use a private field for that, or dive into passing along parameters into threads. … Read more