आप System.Diagnostics.Process.Start()
भार के में से एक का उपयोग करना चाहिए। यह काफी आसान है!
यदि आप उस प्रक्रिया का फ़ाइल नाम नहीं डालते हैं जिसे आप चलाना चाहते हैं (explorer.exe
), सिस्टम इसे वैध फ़ोल्डर पथ के रूप में पहचाना जाएगा और इसे पहले से चल रहे एक्सप्लोरर प्रक्रिया में संलग्न करने का प्रयास करेगा। इस मामले में, यदि फ़ोल्डर पहले से खुला है, एक्सप्लोरर कुछ भी नहीं करेगा।
यदि आप प्रक्रिया के फ़ाइल नाम (जैसे आपने किया) रखा है, तो सिस्टम पैरामीटर के रूप में दूसरी स्ट्रिंग को पार करने, प्रक्रिया का एक नया उदाहरण चलाने की कोशिश करेगा। यदि स्ट्रिंग एक मान्य फ़ोल्डर है, तो यह नव निर्मित प्रक्रिया पर खोला गया है, यदि नहीं, तो नई प्रक्रिया कुछ भी नहीं करेगी।
मुझे नहीं पता कि किसी भी मामले में प्रक्रिया द्वारा अवैध फ़ोल्डर पथ का इलाज कैसे किया जाता है। System.IO.Directory.Exists()
का उपयोग करना सुनिश्चित करने के लिए पर्याप्त होना चाहिए।
स्रोत
2012-02-24 20:42:57
क्या आप वाकई अपना रास्ता सही हैं? –
आप मैन्युअल रूप से एक्सप्लोरर को क्यों कॉल करना चाहते हैं? क्यों न केवल फ़ोल्डर खोलें, यानी कॉल प्रक्रिया। ProcSStllExecute के साथ ProcessStartInfo के साथ प्रारंभ करें और Verb "open" पर सेट है? – OregonGhost
हां, मैंने पथ के बिना 'explorer.exe' खोलने का प्रयास किया और या तो काम नहीं किया। – Daniel