2008-08-30 13 views
5

यहां स्थिति है: मैं एक एप्लिकेशन लॉन्च करने की कोशिश कर रहा हूं, लेकिन .exe का स्थान मुझे ज्ञात नहीं है।exe ​​के स्थान को जानने के बिना कमांड लाइन तर्क के साथ एक फ़ाइल लॉन्च करें?

Process.Start("Sample.xls"); 

हालांकि, मैं भी कुछ आदेश पंक्ति तर्क पारित करने के लिए की जरूरत है: अब, अगर फाइल एक्सटेंशन पंजीकृत है (Windows में), मैं की तरह कुछ कर सकते हैं। मैं इसे काम करने के लिए नहीं मिला

Process p = new Process(); 
    p.StartInfo.FileName = "Sample.xls"; 
    p.StartInfo.Arguments = "/r"; // open in read-only mode 
    p.Start(); 

इसे हल करने के लिए किसी तंत्र पर कोई सुझाव?

संपादित @ अकु

मेरे StackOverflow खोज कौशल कमजोर कर रहे हैं; मुझे वह पोस्ट नहीं मिला। हालांकि मैं आमतौर पर रजिस्ट्री में peering नापसंद, यह एक अच्छा समाधान है। धन्यवाद!

उत्तर

4

this उत्तर से मेरे कोड का उपयोग करके आप xls एक्सटेंशन से जुड़े कमांड प्राप्त कर सकते हैं। फिर आप इस आदेश को Process.Start विधि पर पास कर सकते हैं।

2

यदि आप रजिस्ट्री से पूछताछ करते हैं, तो आप पंजीकृत फ़ाइल प्रकार के बारे में डेटा पुनर्प्राप्त कर सकते हैं और फिर सीधे कमांड लाइन तर्कों को पार कर ऐप को कॉल कर सकते हैं। फ़ाइल प्रकार के लिए खोल जानकारी पुनर्प्राप्त करने के उदाहरण के लिए Programmatically Checking and Setting File Types देखें।

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