SHMessageBoxCheckW 함수(shlwapi.h)
[SHMessageBoxCheck 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 사용할 수 없습니다.]
사용자에게 추가 항목을 표시하지 않는 옵션을 제공하는 메시지 상자를 표시합니다. 사용자가 이미 메시지 상자를 표시하지 않도록 선택한 경우 함수는 대화 상자를 표시하지 않고 대신 기본값을 반환합니다.
통사론
int SHMessageBoxCheckW(
[in, optional] HWND hwnd,
[in] LPCWSTR pszText,
[in] LPCWSTR pszCaption,
UINT uType,
int iDefault,
[in] LPCWSTR pszRegVal
);
매개 변수
[in, optional] hwnd
형식: HWND
메시지 상자의 소유자에 대한 창 핸들입니다. 이 값은 NULL
[in] pszText
형식: LPCTSTR
표시할 메시지를 포함하는 null로 끝나는 문자열에 대한 포인터입니다.
[in] pszCaption
형식: LPCTSTR
메시지 상자의 제목을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 이 매개 변수가 NULL
uType
형식: UINT
메시지 상자의 내용과 동작을 지정하는 플래그입니다. 이 함수는 MessageBox지원하는 플래그의 하위 집합만 지원합니다. 아래에 나열되지 않은 플래그를 사용하는 경우 함수의 동작은 정의되지 않습니다.
다음 플래그 중 하나만 설정하여 표시할 단추를 지정해야 합니다.
MB_OKCANCEL
확인
MB_YESNO
예 및 없음 단추가 있는 메시지 상자를 표시합니다.
MB_OK
확인 단추가 있는 메시지 상자를 표시합니다.
다음 플래그 중 하나만 설정하여 선택적 아이콘을 표시할 수 있습니다.
MB_ICONHAND
중지 기호 아이콘을 표시합니다.
MB_ICONQUESTION
물음표 아이콘을 표시합니다.
MB_ICONEXCLAMATION
느낌표 아이콘을 표시합니다.
MB_ICONINFORMATION
원에 소문자 "i"가 있는 아이콘을 표시합니다.
iDefault
형식: int
사용자가 메시지 상자를 다시 표시하지 않도록 선택한 경우 함수가 반환하는 값입니다. 사용자가 메시지 상자를 표시하지 않도록 선택하지 않은 경우 메시지 상자가 표시되고 함수는 iDefault
[in] pszRegVal
형식: LPCTSTR
이 메시지와 연결할 고유한 문자열 값을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. Microsoft에서 사용하는 값과의 충돌을 방지하려면 이 문자열에 GUID가 포함되어야 합니다. 이 문자열은 종료 null 문자를 포함하여 길이가 REGSTR_MAX_VALUE_LENGTH 문자를 초과해서는 안됩니다.
반환 값
형식: int
사용자가 이미 메시지 상자를 표시하지 않도록 선택한 경우 함수는 iDefault할당된 값을 즉시 반환합니다.
사용자가 확인, 취소, 예또는 없음 단추를 클릭하면 함수는 각각 IDOK, IDCANCEL, IDYES 또는 IDNO를 반환합니다.
사용자가 캡션에서 X 단추를 클릭하여 메시지 상자를 닫으면 함수는 IDCANCEL을 반환합니다. 이 경우 MB_OKCANCEL 플래그가 설정되지 않은 경우에도 이 값이 반환됩니다.
오류가 발생하면 반환 값은 일반적으로 -1입니다. 그러나 특정 메모리 부족 조건에서 함수는 iDefault
발언
보안 경고: 함수가 –1 또는 iDefault반환하는 경우 위험한 작업을 수행하지 마세요. 메시지 상자를 표시하려고 할 때 오류가 발생하면
"이 대화 상자를 표시 안 함"과 "이 대답 기억"을 혼동하지 마세요. SHMessageBoxCheck "이 답변 기억" 기능을 제공하지 않습니다. 사용자가 메시지 상자를 다시 표시하지 않도록 선택하면 함수는 클릭한 단추를 유지하지 않습니다. 대신, SHMessageBoxCheck의 후속 호출은 iDefault지정된 값을 반환하기만. 다음 예제를 고려해 보세요.
int iResult = SHMessageBoxCheck(hwnd,
TEXT("Do you want to exit without saving?"),
TEXT("Warning"),
MB_YESNO,
IDNO,
TEXT("{d9108ba3-9a61-4398-bfbc-b02102c77e8a}");
사용자가 나중에 선택하면 이 대화 상자를 표시하지 않고 예 단추를 클릭합니다. SHMessageBoxCheck IDYES를 반환합니다. 그러나 다음에 이 코드가 실행될 때
메시지 상자에 표시되는 기본 단추는 iDefault 값에 동의해야 합니다. MB_DEFBUTTON2 플래그에 대한 지원이 부족하면 MB_OK 또는 MB_OKCANCEL 플래그를 지정한 경우 iDefault IDOK로 설정해야 합니다. MB_YESNO 플래그를 설정한 경우 iDefault 값을 IDYES로 설정해야 합니다.
SHMessageBoxCheck 사용자가 다음 레지스트리 키 아래에 표시하지 않도록 선택한 메시지 상자를 기록합니다.
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Explorer LowRegistry DontShowMeThisDialogAgain
메모
shlwapi.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 SHMessageBoxCheck를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | shlwapi.h |
DLL | Shlwapi.dll(버전 5.0 이상) |