मैं डायरेक्टएक्स का उपयोग कर विंडोज 7 के लिए एक एनिमेटेड डेस्कटॉप पृष्ठभूमि बनाना चाहता हूं। मैं सी #, स्लिम डीएक्स और कुछ पी/विंडोज एपीआई कार्यों के आयात को आयात कर रहा हूं। मैं देशी विंडोज प्रोग्रामिंग के साथ शानदार नहीं हूं, लेकिन मुझे विश्वास है कि मुझे ऑनलाइन क्या करना है और मुझे विश्वास है कि मुझे क्या करना है या तो:डायरेक्टएक्स डेस्कटॉप
1) डेकस्टॉप वॉलपेपर वाली विंडो के हैंडल को ढूंढें, इसे हुक करें एक डायरेक्टएक्स डिवाइस पर और इसमें आकर्षित करें।
2) एक नई आउटपुट विंडो बनाएं, और डेस्कटॉप वॉलपेपर के ऊपर डालें और डेस्कटॉप आइकन के नीचे डालें।
मैंने इन दोनों की कोशिश की है, लेकिन न ही काम करने लगता है। अगर मैं GetDesktopWindow() द्वारा दिए गए हैंडल से शुरू होने वाली विंडो विरासत को नेविगेट करता हूं, तो मैं डेस्कटॉप -> वर्कर डब्ल्यू -> SHELLDLL_DefView -> SysListView32 पर जा सकता हूं। अगर मैं इस हैंडल में डायरेक्टएक्स डिवाइस को हुक करता हूं, तो मैं पूरे डेस्कटॉप पर आकर्षित कर सकता हूं, लेकिन इसमें आइकन भी शामिल हैं। यदि मैं एक विंडोज फॉर्म बनाता हूं, तो अपने माता-पिता को SetParent() का उपयोग करके SHELLDLL_DefView पर सेट करें और फिर अपने Z-order के साथ खेलने के लिए SetWindowPos का उपयोग करें, मुझे लगता है कि यह डेस्कटॉप वॉलपेपर के पीछे या डेस्कटॉप + आइकन के सामने जा सकता है।
ऐसा लगता है कि डेस्कटॉप वॉलपेपर आइकन वाले फ़ोल्डर दृश्य में पृष्ठभूमि है, और इसलिए मैं जो करने की कोशिश कर रहा हूं वह काम नहीं कर सकता है। तब एकमात्र समाधान आइकन के लिए डेस्कटॉप का उपयोग नहीं करना होगा, या कुछ वैकल्पिक खोजने के लिए, उदा। डेस्कटॉप को ओवरराइट करना, फिर कुछ फ़ोल्डर की सामग्री वाले एक पारदर्शी विंडो को ओवरले करना।
क्या किसी के पास कोई विचार है कि मुझे क्या करना चाहिए, या यहां तक कि मैं क्या करना चाहता हूं? यह आप GDI का उपयोग कर डेस्कटॉप पृष्ठभूमि के लिए आकर्षित कर सकते हैं (जैसा कि मेरा मानना है कि wxSnow कार्यक्रम करता है) लगता है, और मुझे लगता है कि मैं क्या इसके DirectX वॉलपेपर मोड के साथ Windows XP के तहत वीएलसी मीडिया प्लेयर के द्वारा किया जाता करना चाहते हैं (दिलचस्प बात करने के लिए कुछ इसी तरह देखा है, मैं ऐसा लगता है कि यह विकल्प मेरे सिस्टम पर सक्षम नहीं है)।
धन्यवाद!
वाह, मुझे यह भी एहसास नहीं हुआ कि ड्रीमसेन को 7 से हटा दिया गया था। मुझे Vista की सुविधा पसंद आई! यहां एक ब्लॉग पोस्ट है कि इसे वापस कैसे प्राप्त करें http://www.mydigitallife.info/2009/01/14/how-to-install-and-enable-dreamscene-in-windows-7/ (यह, ज़ाहिर है, आपको ऐसा करने के लिए प्रोग्राम लिखने की आवश्यकता के बिना अपने डेस्कटॉप को एनिमेट करने की अनुमति देता है, जो इस सवाल को पढ़ते हैं कि वे अपने डेस्कटॉप को एनिमेट करने की उम्मीद करते हैं और इसे करने के लिए प्रोग्राम लिखने की आवश्यकता नहीं है)। – Ricket
आप सी ++ में अपना विकास करने से बेहतर होंगे, क्योंकि मेरा मानना है कि डायरेक्टएक्स 9 एक प्रबंधित डायरेक्टएक्स एपीआई के साथ अंतिम संस्करण था। –
स्लिम डीएक्स (http://slimdx.org/) डायरेक्टएक्स के लिए एक रैपर है, जो एमडीएक्स के विपरीत, डायरेक्टएक्स के नवीनतम संस्करणों का समर्थन करने के लिए नियमित रूप से अपडेट किया जाता है। आप सही हैं, शायद मुझे सी ++ में विकसित होना चाहिए, लेकिन मुझे इसके लिए सी # बहुत पसंद है। – Jonathan