다음을 통해 공유


WM_DDE_EXECUTE 메시지

DDE(동적 데이터 교환) 클라이언트 애플리케이션은 DDE 서버 애플리케이션에 WM_DDE_EXECUTE 메시지를 게시하여 일련의 명령으로 처리할 문자열을 서버에 보냅니다. 서버 애플리케이션은 응답으로 WM_DDE_ACK 메시지를 게시해야 합니다.

이 메시지를 게시하려면 다음 매개 변수를 사용하여 PostMessage 함수를 호출합니다.

#define WM_DDE_EXECUTE     0x03E8

매개 변수

wParam

메시지를 게시하는 클라이언트 창에 대한 핸들입니다.

lParam

대화와 관련된 창 유형에 따라 ANSI 또는 유니코드 명령 문자열을 참조하는 전역 메모리 개체를 포함합니다.

설명

명령 문자열은 단일 대괄호([ ])로 묶인 하나 이상의 opcode 문자열로 구성된 null로 끝나는 문자열입니다. 각 opcode 문자열에는 매개 변수 목록이 선택 사항인 다음 구문이 있습니다.

opcode 매개 변수

opcode는 애플리케이션에서 정의한 단일 토큰입니다. 공백, 쉼표, 괄호, 대괄호 또는 따옴표를 포함할 수 없습니다.

매개 변수 목록에는 애플리케이션 정의 값 또는 값이 포함될 수 있습니다. 여러 매개 변수는 쉼표로 구분되고 전체 매개 변수 목록은 괄호로 묶입니다. 매개 변수는 따옴표로 묶인 문자열 내부를 제외하고 쉼표 또는 괄호를 포함할 수 없습니다. 대괄호 또는 괄호 문자가 따옴표로 묶인 문자열에 표시되는 경우 이전 규칙의 경우와 마찬가지로 두 배가 될 필요가 없습니다.

유효한 명령 문자열은 다음과 같습니다.

[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.")] 

이전 규칙에 따라 다음과 같이 괄호와 대괄호를 두 배로 묶어야 했습니다.

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

서버는 두 양식 중 하나로 명령을 구문 분석할 수 있어야 합니다.

유니코드 실행 문자열은 클라이언트 및 서버 창 핸들이 모두 IsWindowUnicode 함수가 TRUE를 반환하는 경우에만 사용해야 합니다.

게시

클라이언트 애플리케이션은 GlobalAlloc 함수를 호출하여 전역 메모리 개체를 할당합니다.

서버가 WM_DDE_EXECUTE 메시지에 회신하여 게시하는 WM_DDE_ACK 메시지를 처리할 때 클라이언트 애플리케이션은 WM_DDE_ACK 메시지에서 반환된 개체를 삭제해야 합니다.

수신

서버 애플리케이션은 긍정적 또는 부정적으로 응답하도록 WM_DDE_ACK 메시지를 게시합니다. 서버는 전역 메모리 개체를 다시 사용해야 합니다.

하위 프로토콜에서 달리 지정하지 않는 한 서버는 실행 명령 문자열에 지정된 모든 작업이 완료될 때까지 WM_DDE_ACK 메시지를 게시해서는 안 됩니다. 이 규칙의 한 가지 예외는 문자열로 인해 서버가 대화를 종료하는 경우입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Dde.h(Windows.h 포함)

추가 정보

참조

IsWindowUnicode

PackDDElParam

PostMessage

ReuseDDElParam

SendMessage

UnpackDDElParam

WM_DDE_ACK

개념

동적 데이터 교환 정보