다음을 통해 공유


CPLApplet 사용

Windows Vista 이전에는 .dll 파일을 만들고 .cpl 확장으로 이름을 지정하여 제어판 항목을 만들었습니다. 이 파일은 CPlApplet 함수를 내보냅니다 . 이 체계는 Windows Vista 이상 버전에서 계속 지원되며 이 항목에서 설명합니다. 그러나 새 제어판 항목에 대한 지침은 작업 흐름 레이아웃을 사용하는 .exe 파일로 빌드된 제어판 항목을 사용하는 더 간단한 방법을 권장합니다.

제어판 .dll(또는 .cpl) 파일을 로드하는 경우 CPlApplet 함수를 호출하여 파일에서 호스트하는 제어판 항목 수와 각 항목에 대한 정보 등의 정보를 가져옵니다. 또한 제어판 항목의 창이 초기화되거나 열리거나 닫혀 있을 때 함수를 호출합니다.

Windows는 제어판 항목을 처음 로드할 때 CPlApplet 함수의 주소를 검색한 후 해당 주소를 사용하여 함수를 호출하고 메시지를 전달합니다. 다음 메시지를 보낼 수 있습니다.

메시지 설명
CPL_DBLCLK 사용자가 지정된 제어판 항목과 연결된 아이콘을 선택했음을 CPlApplet에 알리기 위해 전송됩니다. CPlApplet 은 지정된 항목에 대한 대화 상자를 표시하고 사용자가 지정한 작업을 수행해야 합니다. CPlApplet lParam1 매개 변수는 제어판 항목의 인덱스(0부터 시작하는 인덱스)를 나타내는 정수입니다. lParam2 매개 변수는 CPL_INQUIRE 또는 CPL_NEWINQUIRE 메시지의 CPLINFO 또는 NEWCPLINFO 구조에 반환된 lpData 포인터입니다. 반환 값은 무시됩니다.
CPL_EXIT 마지막 CPL_STOP 메시지 뒤와 Windows에서 FreeLibrary 함수를 사용하여 제어판 항목이 포함된 DLL을 해제하기 직전에 전송됩니다. CPlApplet 은 남은 메모리를 해제하고 닫을 준비를 해야 합니다. 반환 값은 무시됩니다.
CPL_GETCOUNT CPL_INIT 메시지 후에 전송되어 CPlApplet이 지원하는 하위 프로그래밍 수를 나타내는 숫자를 반환하라는 메시지를 표시합니다.
CPL_INIT 제어판 항목이 포함된 DLL이 로드된 직후에 전송됩니다. 메모리 할당을 포함하여 초기화 절차를 수행하라는 메시지가 CPlApplet 에 표시됩니다.
CPL_INQUIRE 지정된 하위 프로그래밍에 대한 정보를 제공하도록 CPlApplet에 메시지를 표시하기 위해 CPL_GETCOUNT 메시지 후에 전송됩니다. lParam1 값은 요청되는 정보에 대한 하위 프로그래밍의 인덱스(0부터 시작하는 인덱스)를 나타내는 정수입니다. CPlApplet의 lParam2 매개 변수는 CPLINFO 구조를 가리킵니 다. 반환 값은 무시됩니다.
CPL_NEWINQUIRE CPlApplet에 지정된 제어판 항목에 대한 정보를 제공하라는 메시지를 표시하기 위해 CPL_GETCOUNT 메시지 다음에 전송됩니다. lParam1 값은 요청되는 정보에 대한 하위 프로그래밍의 인덱스(0부터 시작하는 인덱스)를 나타내는 정수입니다. lParam2 매개 변수는 NEWCPLINFO 구조체에 대한 포인터입니다. CPL_NEWINQUIRE 일반적으로 무시해야 합니다. CPL_NEWINQUIRE 사용할 때 제어판 성능이 저하되므로 애플리케이션은 Windows 95, Microsoft Windows NT 4.0 이상 시스템에서만 CPL_INQUIRE 처리해야 합니다. 반환된 문자열과 아이콘을 캐시할 수 없기 때문입니다. 반환 값은 무시됩니다.
CPL_SELECT 사용되지 않습니다. 현재 버전의 Windows에서는 이 메시지를 보내지 않습니다.
CPL_STARTWPARMS 사용자가 지정된 대화 상자와 연결된 아이콘을 선택했음을 CPlApplet에 알리기 위해 전송됩니다. CPlApplet 은 해당 대화 상자를 표시하고 사용자가 지정한 작업을 수행해야 합니다. 이 메시지는 CPL_DBLCLK 비슷하지만 몇 가지 추가 정보가 있을 수 있습니다. lParam1 매개 변수는 제어판 항목 번호이고 lParam2는 필요할 수 있는 추가 방향에 대한 LPCTSTR입니다. 이 메시지가 처리되면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. 이 메시지는 Shell32.dll 버전 5.00 이상에 유효합니다.
CPL_STOP Windows에서 제어판 확장을 언로드하기 전에 .cpl 파일의 각 제어판 항목에 대해 한 번 전송됩니다. CPlApplet은 lParam1에 제공된 항목 번호와 연결된 모든 메모리를 해제해야 합니다. lParam2 매개 변수는 CPL_INQUIRE 또는 CPL_NEWINQUIRE 메시지의 CPLINFO 또는 NEWCPLINFO 구조에 반환된 lpData 포인터입니다. 반환 값은 무시됩니다.

 

제어판 항목

사용자 환경 지침

제어판 항목 등록

제어판 메시지 처리

제어판 항목 실행

시스템 제어판 항목 확장

제어판 범주 할당

제어판 항목에 대한 검색 가능한 작업 링크 만들기

Windows Vista에서 안전 모드로 제어판 액세스