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 포인터입니다. 반환 값은 무시됩니다. |
관련 항목