2010-07-16 18 views
10

मैं चाहता हूं कि मेरा प्रोग्राम किसी भी विंडोज गेम को लॉन्च करने में सक्षम हो, और जब उपयोगकर्ता इसे चला रहा हो, गेम विंडो के कुछ हिस्सों में कुछ पाठ या चित्रों को अंतःस्थापित करें। गेम खिड़की या पूर्ण-स्क्रीन मोड में हो सकता है। जो मैं ऑनलाइन संसाधनों से पता लगाने में सक्षम हूं, यह एक ग्राफिक्स लाइब्रेरी का उपयोग करके किया जा सकता है जो ओवरले का समर्थन करता है और लक्ष्य अनुप्रयोग की विंडो का ट्रैक रखने के लिए विंडोज हुक का उपयोग करता है। इस संदर्भ में मेरे कुछ प्रश्न हैं।विंडोज गेम पर ग्राफिक्स को ओवरले कैसे करें?

  1. क्या ओवरले गेम के प्रदर्शन को प्रभावित करेंगे?
  2. एप्लिकेशन को हुकिंग करने से प्रदर्शन को प्रभावित कैसे किया जाएगा?
  3. क्या कोई अन्य तरीका यह प्राप्त कर सकता है? उदाहरण के लिए, आपको लगता है कि PIX, डायरेक्टएक्स डीबगिंग और विश्लेषण उपकरण, काम करते हैं?

उत्तर

12

Fraps इस तरह की चीज को किसी तृतीय-पक्ष ऐप से पूर्णस्क्रीन डायरेक्टएक्स एप्लिकेशन में करने का मूल उदाहरण है। यह कुछ सिस्टम कॉल को हुक करके और ऐप और डायरेक्टएक्स के बीच कॉल-चेन में खुद को डालने से काम करता है। कुछ प्रदर्शन हिट है, लेकिन सामान्य रूप से इसकी न्यूनतम।

This page इस तरह से ऐप को हुक करने के तरीके पर कुछ विवरण और नमूना कोड प्रतीत होता है।

अगर मुझे सही ढंग से याद किया जाता है, तो अन्य फोरम चर्चाओं से (इस समय लिंक नहीं मिल सकता है। "कैसे काम करता है", यह एक लोकप्रिय सवाल है), फ्रेप्स ऐप को मजबूर करने के लिए कुछ चीजें हुक करता है अपने डीएलएल को लोड करने के लिए, फिर वर्तमान() कॉल को हुक करता है और एक वास्तविक रंग() को कॉल करने से पहले साफ़() को कॉल करता है- छोटे आयत की सूची के साथ एक अलग रंग पर सेट करने के लिए कॉल करें, जो एफपीएस नंबर को स्पेल कर सकता है यह प्रदर्शित करता है। इसका न्यूनतम प्रदर्शन प्रभाव पड़ता है और ऐप जो कुछ भी कर रहा है उसके साथ व्यापक रूप से संगत है। बिटमैप को ओवरले करना अधिक जटिल होगा क्योंकि वर्तमान समय में ऐसा करना आसान नहीं होगा। शायद अगर आप एंडसेन को हुक कर सकते हैं, तो आप और अधिक कर सकते हैं, लेकिन आपको डिवाइस स्थिति को बदलने के लिए सावधान रहना होगा।

पिक्स ने डायरेक्टएक्स ड्राइवर को विशेषाधिकार प्राप्त किया है, इसलिए मैं इसे अनुकरण करने के लिए मॉडल के रूप में उपयोग करने में सक्षम होने की उम्मीद नहीं करता।

यदि कोई लक्षित ऐप विंडो मोड में चल रहा है, तो डायरेक्टएक्स को अभी भी काम करना है, लेकिन आप इसके बजाय जीडीआई का भी उपयोग कर सकते हैं।

संपादित करें: मुझे लगता है कि this वह लिंक है जिसे मैं मूल रूप से सोच रहा था।

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