2013-04-17 7 views
5

मैं सिर्फ एक आवेदन है कि निम्न कोड के साथ प्रक्रियाओं की शुरूआत बनायाकैसे सी # में एक और प्रक्रिया के लिए मानकों को पारित करने के लिए

string [] args = {"a", "b"}; 
             Process.Start ("C: \ \ demo.exe" String.Join ("", args)); 

मैं इस प्रक्रिया मैंने करने के लिए इस आवेदन से पैरामीटर पारित करने में सक्षम होना चाहते हैं का शुभारंभ किया।

जहां मुझे लॉन्च की गई प्रक्रिया की परियोजना में पैरामीटर दर्ज करना है? मैं उन्हें

static void Main (string [] args) {... 

में डालने की कोशिश की, लेकिन वे अन्य रूपों में उपलब्ध नहीं हैं। मदद के लिए धन्यवाद

+0

मेरी असली समस्या यह है कि जिस प्रक्रिया को मैं लॉन्च करता हूं (demo.exe) में पैरामीटर नहीं होते हैं, मुझे यह जानने की ज़रूरत है कि मुझे demo.exe प्रोजेक्ट में पैरामीटर कहां रखना है, धन्यवाद – Ldg

उत्तर

12
Process p= new Process(); 
p.StartInfo.FileName = "demo.exe"; 
p.StartInfo.Arguments = "a b"; 
p.Start(); 

या

Process.Start("demo.exe", "a b"); 

demo.exe

static void Main (string [] args) 
{ 
    Console.WriteLine(args[0]); 
    Console.WriteLine(args[1]); 
} 

में आप कैसे इन पैरामीटर को बचाने के लिए कहा है। आप स्थैतिक गुणों के साथ नई कक्षा बना सकते हैं और वहां इन पैरा को सहेज सकते हैं।

Console.WriteLine(ConsoleParamHolder.Params[0]); 
Console.WriteLine(ConsoleParamHolder.Params[1]); 

आदि

+0

धन्यवाद रॉबर्ट, लेकिन मुझे यह जानने की जरूरत है कि aa.exe प्रोजेक्ट में, मुझे एप चलाने के बाद पैरामीटर – Ldg

+0

डालना होगा, वे आपके तर्कों में होंगे, यह इस बात पर निर्भर करता है कि "demo.exe" कौन सी भाषा लिखी गई है। यदि यह सी # है तो वे कार्य मुख्य में तर्क में होंगे। यदि आप उन्हें ऊपर लिखते हैं तो आप उन्हें पास करते हैं, इसे किसी भी समस्या के बिना काम करना चाहिए :) – Robert

+0

रॉबर्ट धन्यवाद, लेकिन नहीं, मैं इस तर्क को लॉन्च करने वाली प्रक्रिया के अन्य रूपों में कैसे कह सकता हूं? – Ldg

1

मुख्य आवेदन कोड:

var process = new Process(); 
process.StartInfo.FileName = "demo.exe" // Path to your demo application. 
process.StartInfo.Arguments = "a b c" // Your arguments 
process.Start(); 

class ParamHolder 
{ 
    public static string[] Params { get; set;} 
} 

और मुख्य

static void Main (string [] args) 
{ 
    ParamHolder.Params = args; 
} 

में अपने कार्यक्रम के उपयोग की किसी भी जगह में पैरामीटर प्राप्त करने के लिए

अपने डेमो आवेदन में (मैं यह सोचते हैं कि इस कंसोल अनुप्रयोग है)

static void Main (string [] args) 
{ 
    var agrumentOne = args[0]; 
    var agrumentTwo = args[1]; 
    var agrumentThree = args[3]; 
} 

यहाँ argumentOne, argumentTwo, argumentThree में शामिल होंगे "एक", "बी" और "सी"।

+0

धन्यवाद फैसल हफीज, एबोब उत्तर कार्य भी। एक बार फिर धन्यवाद! – Ldg

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

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