내가 호출되는 동안 Excel로 출력 할 수있는 두 번째 응용 프로그램이 필요로 내가 배제되어 내가 PostMessage를 (sendMessage 첨부를 통해 통신해야하는 두 응용 프로그램이있다. 지금까지Delphi : PostMessage에서 맞춤 Windows 메시지를받는 방법?
응용 프로그램 1은 를 호출합니다 응용 프로그램이, 열려있는, 그리고이 때, 응용 프로그램 1이 비활성화로 설정되어 있는지 확인하고.
사용자가 응용 프로그램이 완료되면 내가 다시Applciation 1에 메시지 를 보낼 필요 잠금을 해제하면 잠금 해제됩니다.
내가 사용하여 각 응용 프로그램에서 동일한 Windows 메시지를 등록:
const
MyMessage = 'My-Message';
var
MyMessageID: cardinal;
procedure TMF.FormCreate(Sender: TObject);
begin
MyMessageID := RegisterWindowMessage(MyMessage);
end;
그리고 응용 프로그램이 내가 사용하여 응용 프로그램 1에 메시지를 게시 할 수 있습니다
targetHandle := FindWindow(Pchar('TMF'), Pchar('Send Test'));
...
if PostMessage(targetHandle, (MyMessageID), 0, 0) then
...
이해가 안 무엇 응용 프로그램 1에서 메시지에 대한 처리기를 선언하는 방법입니다.
표준 Windows 메시지 (예 : WM_COPYDATA)를 사용하는 경우 절차를 선언합니다.
procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA;
그러나 나는 충분히 MyMessageID
을 일찍 선언 할 수 없기 때문에 떨어집니다.
아마도 금요일 오후이기 때문에 그럴 것입니다. 그러나 나는 무엇을 놓치고 있습니까?