Как приостановить работу приложения, чтобы нужное окно успело прорисоваться? - C#
Формулировка задачи:
Добрый день.
Задача - приостановить работу приложения, чтобы нужное окно успело прорисоваться. Нашел в MSDN метод потока Sleep. Кажется то, что нужно, только это метод Класса Thread, следственно вопрос - Как получить поток приложения? А если в приложении несколько потоков ( Используется Timer. ) ?.
Спасибо.
PS: VS 2005. FW 2.0.
Решение задачи: «Как приостановить работу приложения, чтобы нужное окно успело прорисоваться?»
textual
Листинг программы
public void CaptureWindowToFile( string filename, ImageFormat format )
{
IntPtr handler = User32.FindWindow( "AnyNameClass", "AnyNameWindow" );
User32.SetForegroundWindow ( handler );
/* Следующая функция не "ждет" завершения выполнения предыдущей т.к.
это - [DllImport( "USER32.DLL" )] public static extern bool SetForegroundWindow
( IntPtr hWnd );, объявленная в static классе User32 */
Image img = CaptureWindow( User32.GetDesktopWindow( ) );
// ...