Такое блокировка 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 блокирует?
Да. Эта функция, как и все, что вызывается в указанном коде, является синхронной.