processamento de mensagens Painel de Controle
A função de retorno de chamada CPlApplet processa todas as mensagens enviadas a um item de Painel de Controle pelo Windows. As mensagens enviadas para a função estão em uma ordem específica. Pelo mesmo token, o item .cpl requer que as mensagens sejam processadas de maneira específica.
Primeiro, a função CPlApplet recebe a mensagem CPL_INIT quando o Windows carrega o item Painel de Controle pela primeira vez. A função deve realizar qualquer inicialização, como alocar memória, e retornar diferente de zero. Se o CPlApplet não puder concluir a inicialização, ele deverá retornar zero, orientando o Windows a encerrar a comunicação e liberar a DLL.
Em seguida, se a mensagem CPL_INIT tiver sido bem-sucedida, o Windows enviará a mensagem de CPL_GETCOUNT. Em seguida, a função deve retornar o número de Painel de Controle itens compatíveis com o arquivo .dll.
Em seguida, a função CPlApplet recebe uma mensagem CPL_INQUIRE e uma mensagem CPL_NEWINQUIRE para cada item de Painel de Controle compatível com o arquivo .dll. A função preenche uma estrutura CPLINFO ou NEWCPLINFO com informações sobre seu item, como seu nome, ícone e uma cadeia de caracteres descritiva. A maioria dos aplicativos deve processar a mensagem CPL_INQUIRE e ignorar a mensagem de CPL_NEWINQUIRE. A mensagem CPL_INQUIRE fornece informações em um formulário que o Windows pode armazenar em cache, o que resulta em um desempenho muito melhor. A mensagem CPL_NEWINQUIRE será usada somente se você precisar alterar o ícone do item ou exibir cadeias de caracteres com base no estado do computador. Painel de Controle itens que usam CPL_NEWINQUIRE não podem ser encontrados por uma pesquisa de menu Iniciar no Windows Vista porque ela depende do cache.
A função CPlApplet recebe uma mensagem CPL_DBLCLK como uma notificação de que o usuário escolheu o ícone que representa o item Painel de Controle. A função pode receber essa mensagem várias vezes. A mensagem inclui o identificador de item e o ponteiro lpData retornado na estrutura CPLINFO ou NEWCPLINFO na chamada para CPL_INQUIRE ou CPL_NEWINQUIRE. A função deve exibir a caixa de diálogo correspondente e processar a entrada subsequente do usuário.
Além de CPL_DBLCLK, a mensagem de CPL_STARTWPARMS poderá ser enviada se um item de Painel de Controle for invocado com parâmetros de entrada, como de um prompt de comando ou de outro programa. A mensagem inclui o identificador de item junto com a cadeia de caracteres de parâmetro adicional.
Antes que o aplicativo de controle seja encerrado, o CPlApplet recebe a mensagem de CPL_STOP uma vez para cada item de Painel de Controle compatível com o arquivo .dll. A mensagem inclui o identificador do item Painel de Controle e o ponteiro lpData retornado na estrutura CPLINFO ou NEWCPLINFO na chamada para CPL_INQUIRE ou CPL_NEWINQUIRE. A função deve liberar qualquer memória alocada para a caixa de diálogo especificada.
Após a última mensagem CPL_STOP, CPlApplet recebe uma mensagem de CPL_EXIT. A função deve liberar toda a memória alocada restante e cancelar o registro de todas as classes de janela privada que ela possa ter registrado. Imediatamente após o retorno da função dessa mensagem, o Windows libera o item Painel de Controle chamando a função FreeLibrary.
Tópicos relacionados
-
Criando links de tarefa pesquisáveis para um item de Painel de Controle
-
Acessando o Painel de Controle no modo de segurança no Windows Vista