Compartilhar via


mensagem WM_DDE_EXECUTE

Um aplicativo cliente DDE (Dynamic Data Exchange) posta uma mensagem WM_DDE_EXECUTE em um aplicativo de servidor DDE para enviar uma cadeia de caracteres para o servidor a ser processado como uma série de comandos. Espera-se que o aplicativo de servidor poste uma mensagem WM_DDE_ACK em resposta.

Para postar essa mensagem, chame a função PostMessage com os parâmetros a seguir.

#define WM_DDE_EXECUTE     0x03E8

Parâmetros

wParam

Um identificador para a janela do cliente postando a mensagem.

lParam

Contém um objeto de memória global que faz referência a uma cadeia de caracteres de comando ANSI ou Unicode, dependendo dos tipos de janelas envolvidas na conversa.

Comentários

A cadeia de caracteres de comando é uma cadeia de caracteres terminada em nulo que consiste em uma ou mais cadeias de caracteres opcode entre colchetes únicos ([ ]). Cada cadeia de caracteres opcode tem a seguinte sintaxe, em que a lista de parâmetros é opcional:

parâmetros opcode

O opcode é qualquer token único definido pelo aplicativo. Ele não pode incluir espaços, vírgulas, parênteses, colchetes ou aspas.

A lista de parâmetros pode conter qualquer valor ou valores definidos pelo aplicativo. Vários parâmetros são separados por vírgulas e toda a lista de parâmetros está entre parênteses. Os parâmetros não podem incluir vírgulas ou parênteses, exceto dentro de uma cadeia de caracteres entre aspas. Se um caractere de parêntese ou colchete for aparecer em uma cadeia de caracteres entre aspas, ele não precisará ser duplicado, como foi o caso nas regras antigas.

Veja a seguir cadeias de caracteres de comando válidas:

[connect][download(query1,results.txt)][disconnect] 
[query("sales per employee for each district")] 
[open("sample.xlm")][run("r1c1")] 
[quote_case("This is a "" character")] 
[bracket_or_paren_case("()s or []s should be no problem.")] 

Observe que, de acordo com as regras antigas, parênteses e colchetes tiveram que ser duplicados, da seguinte maneira:

[bracket_or_paren_case("(())s or [[]]s should be no problem.")] 

Os servidores devem ser capazes de analisar comandos em qualquer um dos formulários.

Cadeias de caracteres de execução Unicode só devem ser usadas quando os identificadores de janela do cliente e do servidor fazem com que a função IsWindowUnicode retorne TRUE.

Cartazes

O aplicativo cliente aloca o objeto de memória global chamando a função GlobalAlloc .

Ao processar a mensagem WM_DDE_ACK que o servidor posta em resposta a uma mensagem WM_DDE_EXECUTE , o aplicativo cliente deve excluir o objeto retornado pela mensagem WM_DDE_ACK .

Recebimento

O aplicativo de servidor posta a mensagem WM_DDE_ACK para responder positiva ou negativamente. O servidor deve reutilizar o objeto de memória global.

A menos que especificado de outra forma por um sub-protocolo, o servidor não deve postar a mensagem WM_DDE_ACK até que todas as ações especificadas pela cadeia de caracteres de comando execute sejam concluídas. A única exceção a essa regra é quando a cadeia de caracteres faz com que o servidor encerre a conversa.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Dde.h (inclua Windows.h)

Confira também

Referência

IsWindowUnicode

PackDDElParam

PostMessage

ReuseDDElParam

Sendmessage

UnpackDDElParam

WM_DDE_ACK

Conceitual

Sobre a Troca Dinâmica de Dados