다음을 통해 공유


AllowSetForegroundWindow 함수(winuser.h)

SetForegroundWindow 함수를 사용하여 지정된 프로세스가 포그라운드 창을 설정할 수 있도록 합니다. 호출 프로세스는 이미 포그라운드 창을 설정할 수 있어야 합니다. 자세한 내용은 이 항목의 뒷부분에 있는 비고를 참조하세요.

Syntax

BOOL AllowSetForegroundWindow(
  [in] DWORD dwProcessId
);

매개 변수

[in] dwProcessId

형식: DWORD

포그라운드 창을 설정할 프로세스의 식별자입니다. 이 매개 변수가 ASFW_ANY 경우 모든 프로세스가 포그라운드 창을 설정하도록 설정됩니다.

반환 값

형식: BOOL

함수가 성공하면 반환 값은 0이 아닌 값입니다.

함수가 실패하면 반환 값은 0입니다. 호출 프로세스가 포그라운드 창을 설정할 수 없는 경우 함수가 실패합니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.

비고

시스템은 포그라운드 창을 설정할 수 있는 프로세스를 제한합니다. 일반적으로 프로세스는 다음과 같은 경우에만 SetForegroundWindow 함수를 호출하여 포그라운드 창을 설정할 수 있습니다.

  • 다음 조건은 모두 true입니다.
    • 호출 프로세스는 UWP 앱이나 Windows 8 또는 8.1용으로 설계된 Windows 스토어 앱이 아닌 데스크톱 애플리케이션에 속합니다.
    • 전경 프로세스는 LockSetForegroundWindow 함수에 대한 이전 호출로 SetForegroundWindow에 대한 호출을 사용하지 않도록 설정하지 않았습니다.
    • 활성화된 메뉴가 없습니다.
  • 또한 다음 조건 중 하나 이상이 true입니다.
    • 포그라운드 잠금 제한 시간이 만료되었습니다(SystemParametersInfo의 SPI_GETFOREGROUNDLOCKTIMEOUT 참조).
    • 호출 프로세스는 포그라운드 프로세스입니다.
    • 호출 프로세스는 포그라운드 프로세스에 의해 시작되었습니다.
    • 현재 전경 창이 없으므로 전경 프로세스가 없습니다.
    • 호출 프로세스에서 마지막 입력 이벤트를 수신했습니다.
    • 포그라운드 프로세스 또는 호출 프로세스가 디버그되고 있습니다.

포그라운드 창을 설정할 수 있는 프로세스는 AllowSetForegroundWindow를 호출하여 다른 프로세스가 포그라운드 창을 설정할 수 있도록 할 수 있습니다. dwProcessId 매개 변수에 의해 지정된 프로세스는 입력이 해당 프로세스에서 전달되지 않는 한 사용자가 다음 번에 입력을 생성할 때 또는 AllowSetForegroundWindow에 대한 이전 호출과 동일한 프로세스가 지정되지 않는 한 다음에 프로세스가 AllowSetForegroundWindow를 호출할 때 포그라운드 창을 설정하는 기능을 잃게 됩니다.

요구 사항

요구 사항 가치
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱만 해당]
대상 플랫폼 윈도우즈
Header winuser.h(Windows.h 포함)
Library User32.lib
DLL User32.dll
API 집합 ext-ms-win-ntuser-window-l1-1-0(Windows 8에서 도입)

참고하십시오

개념적

LockSetForegroundWindow

참조

SetForegroundWindow

Windows