2016-11-30 14 views
5

मैं सी # कोड के साथ exe फ़ाइल कैसे लॉन्च कर सकता हूं? तो मैं इस है:स्थान पथ के बिना .exe फ़ाइल लॉन्च करना C#

Process.Start(@"C:\Program Files (x86)\Photoshop\Photoshop.exe"); 

लेकिन पथ अन्य मशीनों में अलग हो सकता है। तो अलग-अलग तरीके से .exe चलाने के लिए कोई विचार है?

धन्यवाद!

+0

आप प्रोग्राम फ़ाइलें निर्देशिका के पथ को हार्डकोडिंग से बच सकते हैं, लेकिन यह अभी भी समस्या का समाधान नहीं करेगा। मैंने फ़ोटोशॉप को एक अलग निर्देशिका में स्थापित किया होगा (जैसा वास्तव में मेरे पास है), या हो सकता है कि मेरे पास फ़ोटोशॉप इंस्टॉल न हो। –

+2

फ़ोटोशॉप के इंस्टॉल पथ के लिए रजिस्ट्री स्कैन करें। – Abion47

+0

@ Abion47 सभी प्रोग्राम रजिस्ट्री – BradleyDotNET

उत्तर

1

नहीं, आप इसके स्थान को जानने के बिना एक exe फ़ाइल नहीं चला सकते हैं।

Process.Start("notepad.exe"); 

काम करता है:

"अपवाद" अगर निष्पादन PATH निर्देशिका वातावरण चर, यही कारण है में है। एक

Process.Start("Photoshop.exe"); 
+0

को फिर से खोलने के लिए वोटिंग हालांकि यह तकनीकी रूप से सच है, इसके अलावा हार्डकोडिंग के अलावा पथ प्राप्त करने के अन्य तरीके भी हैं। – Abion47

+0

@ Abion47 निश्चित रूप से, विशेष फ़ोल्डर वर्ग आदि हैं, लेकिन यह कहां स्थित है, इस पर ध्यान दिए बिना एक exe लॉन्च करने की मूल समस्या से पहले नहीं मिलता है। – BradleyDotNET

0

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

Activator.CreateInstance(Type.GetTypeFromProgID("Photoshop.Application")); 
+0

ऐसा लगता है कि जब तक वह फ़ोटोशॉप – BradleyDotNET

+0

@ डॉ हाइमोवित्ज़ के साथ स्थापित एक ऐप लिख रहा है, तो मुझे लगता है कि आप अपने कोड के साथ सभी एप नहीं चला सकते हैं। ऐसे कुछ ऐप्स हैं जैसे नोटपैड आप पथ के बिना दौड़ सकते हैं! –

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