제어판 애플리케이션에 대한 속성 시트 처리기를 등록하고 구현하는 방법
많은 제어판 애플리케이션은 사용자가 다양한 디바이스 및 시스템 설정을 보고 수정할 수 있도록 속성 속성 시트를 표시합니다. 이러한 애플리케이션 중 두 가지(마우스 및 디스플레이)를 사용하면 속성 시트 처리기가 하나 이상의 페이지를 사용자 지정 페이지로 바꿀 수 있습니다. 다음 스크린샷은 마우스 속성 속성 시트를 보여줍니다.
제어판 애플리케이션에 대한 속성 시트 처리기는 두 가지 기본 예외를 제외하고 파일 형식의 속성 시트 처리기와 유사합니다.
- 셸이 아닌 제어판 애플리케이션에서 호출됩니다.
- 서로 다르게 등록됩니다.
알아야 하는 작업
기술
- 셸
사전 요구 사항
- 제어판 대한 이해
- 바로 가기 메뉴 이해
지침
1단계: 제어판 애플리케이션에 대한 속성 시트 처리기 등록
제어판 애플리케이션 속성 시트 처리기는 제어판 하위 키 아래에 등록해야 합니다. 이 키는 처리기가 사용자별 또는 컴퓨터당인지에 따라 두 위치 중 하나에 있을 수 있습니다. 사용자별 등록의 경우 제어판 하위 키가 HKEY_CURRENT_USER\제어판. Regstr.h에 정의된 매크로 REGSTR_PATH_CONTROLPANEL "제어판" 대신 코드에서 사용할 수 있습니다. 컴퓨터별 등록의 경우 위치는 다음과 같습니다.
HKEY_LOCAL_MACHINE
Software
Microsoft
Windows
Current Version
Controls Folder
이 경로는 Regstr.h에 정의된 REGSTR_PATH_CONTROLSFOLDER 매크로를 사용하여 코드에서 HKEY_LOCAL_MACHINE\REGSTR_PATH_CONTROLSFOLDER 참조할 수 있습니다.
속성 시트 처리기가 페이지를 바꿀 수 있도록 하는 제어판 애플리케이션에는 마우스 및 디스플레이와 같은 애플리케이션의 이름이 지정된 제어판 하위 키 아래에 하위 키가 있습니다. 애플리케이션의 하위 키에는 PropertySheetHandlers 하위 키가 있는 shellex 하위 키가 있어야 합니다. 속성 시트 처리기를 등록하려면 제어판 애플리케이션과 연결된 PropertySheetHandlers 하위 키에 GUID를 추가합니다. 이렇게 하려면 속성 시트 처리기의 이름이 인 PropertySheetHandlers 하위 키의 하위 키를 만들고 해당 기본값을 처리기 GUID의 문자열 형식으로 설정합니다.
다음 예제에서는 컴퓨터별로 마우스 제어판 애플리케이션에 대한 속성 시트 처리기를 등록합니다. 사용자별로 등록하려면 HKEY_LOCAL_MACHINE REGSTR_PATH_CONTROLSFOLDER\HKEY_CURRENT_USERREGSTR_PATH_CONTROLPANEL\ 대체합니다.
HKEY_LOCAL_MACHINE
REGSTR_PATH_CONTROLSFOLDER
Mouse
shellex
PropertySheetHandlers
MyPropHandler
(Default) = {MyPropHandler CLSID GUID}
2단계: 제어판 애플리케이션에 대한 속성 시트 처리기 구현
제어판 속성 시트 처리기를 구현하는 절차는 파일 형식에 대한 속성 시트 처리기를 등록하고 구현하는 방법에 설명된 것과 매우 유사합니다. 주요 차이점은 이제 IShellPropSheetExt::ReplacePage에 IShellPropSheetExt::AddPages 대신 토큰이 아닌 구현이 필요하다는 것입니다.
제어판 애플리케이션이 속성 시트를 표시하려고 하면 바꿀 수 있는 각 페이지에 대해 속성 시트 처리기의 IShellPropSheetExt::ReplacePage 메서드를 한 번 호출합니다. uPageID 매개 변수는 페이지의 ID로 설정됩니다. 사용 가능한 페이지의 ID는 Cplext.h에 정의되어 있습니다. 현재 사용 가능한 ID는 다음 표에 나와 있습니다.
페이지 ID | 설명 | 제어판 애플리케이션 |
---|---|---|
CPLPAGE_MOUSE_BUTTONS | 단추 페이지 | 마우스 |
CPLPAGE_MOUSE_PTRMOTION | 동작 페이지 | 마우스 |
CPLPAGE_MOUSE_WHEEL | 휠 페이지 | 마우스 |
CPLPAGE_KEYBOARD_SPEED | 속도 페이지 | Keyboard |
CPLPAGE_DISPLAY_BACKGROUND | 배경 페이지 | 표시 |
설명
페이지를 만들고 바꾸는 절차는 페이지를 추가하는 절차와 동일합니다. 자세한 내용은 파일 형식에 대한 속성 시트 처리기를 등록하고 구현하는 방법을 참조하세요.