Такое блокировка SetWindowRgn?

У меня есть интерфейс, который может перейти на полный экран. При переходе на полный экран я вызываю последовательность ниже:

ShowWindow(hwnd, SW_HIDE);
SetWindowRgn(hwnd, NULL, TRUE);
SetWindowPos(hwnd, 0, left, top, right, bottom, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOZORDER)) ;
ShowWindow(hwnd, SW_SHOW);

У меня ошибка, что окно сначала отображается в левом верхнем углу с предыдущим размером, а только потом переходит в полноэкранный режим. Я подозреваю, что это может быть потому, чтоSetWindowRgn() вызов асинхронный. и на самом деле выполняется после ShowWindow(), Из документации я знаю, что все остальные вызовы блокируются, но комментариев по поводу SetWindowRgn() будь то блокировка или нет. Как я могу быть уверен в этом? Благодарю.

1 ответ

SetWindowRgn блокирует?

Да. Эта функция, как и все, что вызывается в указанном коде, является синхронной.

Другие вопросы по тегам