AllowSetForegroundWindow 함수(winuser.h)
SetForegroundWindow 함수를 사용하여 지정된 프로세스가 포그라운드 창을 설정할 수 있도록 합니다. 호출 프로세스는 이미 포그라운드 창을 설정할 수 있어야 합니다. 자세한 내용은 이 항목의 뒷부분에 나오는 주의를 참조하십시오.
구문
BOOL AllowSetForegroundWindow(
[in] DWORD dwProcessId
);
매개 변수
[in] dwProcessId
형식:DWORD
포그라운드 창을 설정할 수 있는 프로세스의 식별자입니다. 이 매개 변수가 ASFW_ANY 경우 모든 프로세스가 포그라운드 창을 설정할 수 있습니다.
반환 값
형식: BOOL
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 호출 프로세스가 포그라운드 창을 설정할 수 없는 경우 함수가 실패합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
시스템은 포그라운드 창을 설정할 수 있는 프로세스를 제한합니다. 일반적으로 프로세스는 다음과 같은 경우에만 SetForegroundWindow 함수를 호출하여 포그라운드 창을 설정할 수 있습니다.
- 다음 조건은 모두 true입니다.
- 호출 프로세스는 UWP 앱이나 Windows 8 또는 8.1용으로 설계된 Windows 스토어 앱이 아닌 데스크톱 애플리케이션에 속합니다.
- 전경 프로세스는 LockSetForegroundWindow 함수에 대한 이전 호출로 SetForegroundWindow에 대한 호출을 사용하지 않도록 설정하지 않았습니다.
- 포그라운드 잠금 제한 시간이 만료되었습니다(SystemParametersInfo의 SPI_GETFOREGROUNDLOCKTIMEOUT 참조).
- 활성 메뉴가 없습니다.
- 또한 다음 조건 중 하나 이상이 true입니다.
- 호출 프로세스는 포그라운드 프로세스입니다.
- 호출 프로세스는 포그라운드 프로세스에 의해 시작되었습니다.
- 현재 포그라운드 창이 없으므로 포그라운드 프로세스가 없습니다.
- 호출 프로세스에서 마지막 입력 이벤트를 수신했습니다.
- 포그라운드 프로세스 또는 호출 프로세스가 디버그되고 있습니다.
포그라운드 창을 설정할 수 있는 프로세스는 AllowSetForegroundWindow를 호출하여 다른 프로세스가 포그라운드 창을 설정할 수 있도록 할 수 있습니다. dwProcessId 매개 변수로 지정된 프로세스는 입력이 해당 프로세스로 전달되지 않는 한 다음에 사용자가 입력을 생성할 때 또는 AllowSetForegroundWindow에 대한 이전 호출과 동일한 프로세스가 지정되지 않는 한 프로세스에서 AllowSetForegroundWindow를 호출할 때 포그라운드 창을 설정하는 기능을 잃게 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
API 세트 | ext-ms-win-ntuser-window-l1-1-0(Windows 8 도입) |
추가 정보
개념
참조