2008-11-12 11 views
5

मैं एक फ़ाइल से एक फ़ाइल और पाठ से क्लिपबोर्ड पर एक छवि की प्रतिलिपि बनाने की कोशिश कर रहा हूं। मेरा इरादा तब एक शब्द दस्तावेज़ या एक दृष्टिकोण ईमेल खोलना है और टेक्स्ट और छवि दोनों को एक मानक पेस्ट कमांड (उदाहरण के लिए CTRL-V) में पेस्ट करना है। मैं दोनों अलग-अलग आसानी से पर्याप्त कर सकता हूं, लेकिन उन्हें एक ऑपरेशन में दोनों काम करना प्रतीत नहीं होता है।मैं क्लिपबोर्ड पर एक ऑब्जेक्ट और टेक्स्ट को एक ऑब्जेक्ट के रूप में कैसे कॉपी करूं?

यह (ट्राई/कैच के साथ बाहर छीन आदि निश्चित रूप से केवल प्रासंगिक कोड लाइनों,) कैसे मैं दो मिल गया है अलग कार्यों के रूप में काम कर रहा है:

क्लिपबोर्ड छवि जोड़ें:

.. ।

Bitmap imageToAdd = new Bitmap(imageFilePath); 
Clipboard.SetImage(imageToAdd); 

...

क्लिपबोर्ड पाठ जोड़ें:

...

StreamReader rdr = new StreamReader(textFilePath); 
string text = rdr.ReadToEnd(); 

Clipboard.SetText(text); 

...

मैं C# और .net 2.0 ढांचे का उपयोग कर रहा है और (निकट भविष्य में और अधिक संभावना Vista) Windows XP को लक्षित।

TIA

उत्तर

1

मैं केवल एक वस्तु में पारित किया जा सकता देखा, अपने कोड दो कार्यों को अंजाम दे सकता है:

यह लिंक देखें। , या एक फ़ंक्शन रिकर्सिवली, और हर बार जब आप चाहते हैं कि डेटा प्राप्त करें और इसे पेस्ट करें।

तो, लूपिंग या रिकर्सन देखें।

1

शायद तुम SetDataObject जो एक वस्तु पैरामीटर की आवश्यकता है इस्तेमाल कर सकते हैं, आप एक वस्तु सरणी इस्तेमाल कर सकते हैं?

ऑब्जेक्ट सरणी आपके आवश्यक डेटा को पकड़ सकती है। जब उपयोगकर्ता आदेश चस्पा करने के लिए प्रेस उस मामले में

http://msdn.microsoft.com/en-us/library/5b8kt5z4.aspx

+0

क्या कोई प्रोग्राम जैसे कि दृष्टिकोण या एमएस वर्ड दोनों ऑब्जेक्ट्स को प्रदर्शित करने के लिए समझता है यदि मैं इसे सरणी के साथ करता हूं? मुझे किसी भी प्रोग्राम को खोलने में सक्षम होना चाहिए और दोनों ऑब्जेक्ट्स को एक बार में पेस्ट करने के लिए केवल CTRL-V दबाएं। –

4

आप आरटीएफ का उपयोग कर सकते हैं, जो पाठ और ग्राफिक्स को जोड़ सकता है। ध्यान दें कि आप एक ही समय में क्लिपबोर्ड पर CF_BITMAP और CF_TEXT कर सकते हैं। लेकिन यह उपयोगी नहीं है। जब आप नोटपैड में पेस्ट करते हैं तो आपको टेक्स्ट मिल जाएगा, जब आप पेंट में पेस्ट करते हैं तो आपको बिटमैप मिल जाएगा, और अधिकांश अन्य ऐप्स एक या दूसरे को चुनते हैं, लेकिन दोनों कभी नहीं। तो यह केवल अकादमिक है। साफ-सुथरा, जिस तरह से स्टार ट्रेक पर ट्रांसपोर्टर malfunctions साफ थे। लेकिन गन्दा भी।

+1

यह इस प्रश्न का सही जवाब है। या तो आपको आरटीएफ का उपयोग करना चाहिए या एमएस ऑफिस के आंतरिक क्लिपबोर्ड प्रारूप का उपयोग करना चाहिए और मुझे नहीं पता कि यह दस्तावेज है या नहीं। यहां तक ​​कि माइक्रोसॉफ्ट [HERE] (http://support.microsoft.com/kb/216676) में एक तालिका चिपकाने के उदाहरण के लिए आरटीएफ का उपयोग करता है। – Hossein

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