के रूप में मैं जब बुलाया जा रहा है दूसरी एक्सेल में उत्पादन करने में सक्षम आवेदन की आवश्यकता है मैं दो आवेदनों को खारिज कर दिया है कि मैं PostMessage (SendMessage माध्यम से संवाद करने की जरूरत है।डेल्फी: PostMessage से एक कस्टम विंडोज संदेश कैसे प्राप्त करें?
अब तक आवेदन 1को फोन करेगा आवेदन 2, यकीन है कि यह खुला है, और जब यह है, अनुप्रयोग 1 अक्षम पर सेट किया जाता है बना रही है।
उपयोगकर्ता आवेदन 2 साथ समाप्त हो गया है जब मैं वापसapplciation 1 के लिए एक संदेश भेजने की जरूरत है ए के लिए अनलॉक करने के लिए इसे कम करें।
मैं का उपयोग कर प्रत्येक आवेदन में पंजीकृत किया है उसी Windows संदेश:
const
MyMessage = 'My-Message';
var
MyMessageID: cardinal;
procedure TMF.FormCreate(Sender: TObject);
begin
MyMessageID := RegisterWindowMessage(MyMessage);
end;
और आवेदन 2 में मैं का उपयोग कर आवेदन 1 के लिए संदेश पोस्ट कर सकते हैं:
targetHandle := FindWindow(Pchar('TMF'), Pchar('Send Test'));
...
if PostMessage(targetHandle, (MyMessageID), 0, 0) then
...
मैं क्या समझ में नहीं आता मैं एप्लिकेशन में संदेश के लिए हैंडलर कैसे घोषित करता हूं 1.
यदि मैं मानक विंडोज संदेश का उपयोग कर रहा था, जैसे WM_COPYDATA मैं एक प्रक्रिया घोषित करता हूं
procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA;
लेकिन यह गिरता है क्योंकि मैं MyMessageID
को पर्याप्त जल्दी घोषित नहीं कर सकता।
शायद ऐसा इसलिए है क्योंकि शुक्रवार दोपहर है, लेकिन मुझे क्या याद आ रही है?