2012-03-07 10 views
10

मुझे 2 अनुप्रयोगों के बीच WM_COPYDATA आईपीसी लागू करना होगा। मैंने इंटरनेट पर नमूने प्रतीत किए हैं, लेकिन उनमें से सभी केवल स्ट्रिंग्स भेजते हैं जो 255 वर्णों से कम हैं।WM_COPYDATA SendMessage - क्या यह बड़े तार भेज सकता है?

मैं WM_COPYDATA का उपयोग कर एक और प्रक्रिया में एक बड़ी स्ट्रिंग (1k से अधिक) भेजना चाहता हूं। क्या यह संभव है? मर्यादाएं क्या होती हैं? क्या मुझे स्ट्रिंग या रिकॉर्ड की बजाय स्ट्रीम भेजनी चाहिए?

दोनों अनुप्रयोगों डेल्फी 2010

+0

मुझे -1 क्यों मिला? –

+3

मुझे नहीं पता। मैंने आपको संतुलन देने के लिए +1 दिया। एसओ पर कभी-कभी यादृच्छिक नीचे मतदाता होते हैं, खासकर यहां [टैग: डेल्फी] में। वही बात [मेरा एक सवाल] [http://stackoverflow.com/questions/9572887/3d-library-recommendations-for-interactive-spatial-data-visualisation) कुछ दिन पहले हुआ था। –

उत्तर

8

का उपयोग करके मुझे द्वारा विकसित किए गए कोई सीमा नहीं कर रहे हैं। WM_COPYDATA का उपयोग करके, आप जितनी बड़ी चाहें उतनी बड़ी डेटा भेज सकते हैं, उपलब्ध मेमोरी बाधाओं के अधीन।

+0

तो मूल रूप से Win32 पर 2 गीगा या तो? :-) –

+0

@ वॉरेन हार्ड 32 बिट प्रक्रिया में उस बहुत अधिक पता स्थान को खोजने के लिए हार्ड। –

+2

यदि आपको वास्तव में 2 जीबी डेटा भेजने की ज़रूरत है, तो आप केवल एक temp फ़ाइल का उपयोग करके और फ़ाइल नाम पास करने से बेहतर हैं, या इसके बजाय COM के 'IDataObject' और 'IStream' इंटरफेस का उपयोग करें। –

संबंधित मुद्दे