मैं टमाज़ी के फ्यूचरविंडोज़ इंफ्रास्ट्रक्चर का उपयोग करने की कोशिश कर रहा हूं (Delphi GUI Testing and Modal Forms पर अपने उत्तर को देखें या https://github.com/tomazy/DelphiUtils पर टूल का घर देखें), लेकिन यह जानना चाहेंगे कि मानक विंडोज फ़ाइल खुले संवादों के साथ इसका उपयोग कैसे किया जा सकता है? उन्हें टीकंट्रोल से विरासत में प्रतीत नहीं होता है, जो भविष्यवाणियों का इन्फ्रा लगता है (जब तक कि मैंने इसे गलत समझा नहीं है)।(कैसे) मैं मानक फ़ाइल खुले संवाद के साथ भविष्यवाणियों का उपयोग कर सकता हूं?
मैं जो करना चाहता हूं वह मूल रूप से एक ओपनफाइलडिअलॉग में एक फ़ाइल का चयन करने के लिए है जो मेरे परीक्षण के भीतर एक कमांड द्वारा सामान्य रूप से खोला जाता है, लेकिन अभी तक यह पता लगाने में सक्षम नहीं है कि यह कैसे किया जाए।
धन्यवाद, मैंने वास्तव में नोट किया कि भविष्यवाणियों के पास यह एक कॉन्स (MESSAGE_BOX_WINDOW_CLASS) है और इस प्रकार मुझे एक IWindow (भविष्यविंडोज इंटरफ़ेस) के रूप में संवाद तक पहुंच मिली। अब मेरी समस्या यह है कि इस इंटरफ़ेस को ऑब्जेक्ट करने के लिए, क्योंकि इंटरफ़ेस केवल एक AsControl विधि प्रदान करता है, जो मुझे संदेह करेगा कि संवाद एक टीकंट्रोल नहीं है। इसके बिना, मुझे नहीं पता (अभी तक) संवाद की फ़ाइल नाम संपत्ति को कैसे सेट करें ... – DelphiUser
आप सही हैं, 'AsControl' काम नहीं कर सकता है। लक्ष्य विंडो का शिकार करने के लिए आप 'EnumChildWindows' का उपयोग कर सकते हैं, लेकिन एक आसान तरीका हो सकता है। क्या आप इसका नकल नहीं कर सकते? –
मैं थोड़ी देर के लिए googled और इसके साथ समाप्त हुआ, जो काम करता प्रतीत होता है: विंडोज.SetDlgItemText (DlgHandle, 1148, पीसीहर (फ़ाइल नाम)); इसका उपयोग: http://social.msdn.microsoft.com/forums/en-US/winforms/thread/62d5db14-5497-4ceb-8af0-d7f81732e937/ तो मूल रूप से मैं फ़ाइल नाम को सही नियंत्रण में सेट करने के लिए एक संदेश भेजता हूं (आईडी 1148 कम से कम मेरे विंडोज 7 पर काम करता है :)) – DelphiUser