2011-04-23 3 views
6

मैं प्रक्रिया का उपयोग कर रहा हूं। मेरी वेबसाइट से शुरू होने वाली विंडो फॉर्म एप्लिकेशन खोलने के लिए शुरू करें।पैरामीटर्स के साथ एक प्रक्रिया शुरू करें

मैं अपना उपयोगकर्ता नाम एप्लिकेशन भेजना चाहता हूं।

तो मैं यह कैसे कर सकता हूं?

+1

यदि आप किसी वेबसाइट से 'Process.Start() 'का उपयोग कर रहे हैं, तो यह उस एप्लिकेशन को आपके * सर्वर * पर खुल जाएगा। क्या आप वास्तव में यही चाहते हैं? – svick

+0

यह एक स्कूल प्रोजेक्ट है, मुझे पता है कि यह ऐसा नहीं होना चाहिए, लेकिन यही वह है जो हमें अब के लिए करने के लिए कह रहा है। –

उत्तर

1

आप इस का उपयोग कर सकते हैं:

string username = "MyUsername"; 
Process.Start(Path.Combine("MyExe.exe" + " \"" + username + "\""); 
+2

और मैं अपने एप्लिकेशन पर उपयोगकर्ता नाम कैसे प्राप्त करूं? –

+0

यह काम नहीं करेगा, क्योंकि 'MyExe.exe "उपयोगकर्ता नाम"' नामक कोई फ़ाइल नहीं होगी। – svick

+1

बस 'स्ट्रिंग myUsername = Environment.GetCommandLineArgs() [1]। ToString();' जो आपको उपरोक्त पैरामीटर के रूप में जो आपने डाला है उसे ठीक से देगा। –

5

Process.Start() कई भार के है, one of them निष्पादन के लिए पथ के साथ कमांड लाइन तर्क निर्दिष्ट करने के लिए है।

उदाहरण के लिए

:

Process.Start("app.exe", "parameter(s)"); 
+0

ठीक है लेकिन फिर से, मैं अपने अनुप्रयोगों से पैरामीटर का उपयोग कैसे करूं? –

+0

@ यार, उसी तरह Mercurial ने ['Environment.GetCommandLineArgs()'] (http: // msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx)। – svick

6

आप शुरू की जानकारी में तर्क बताए द्वारा यह कर सकते हैं, जैसे:

var process = new Process 
     { 
      StartInfo = 
       { 
        FileName = processName, 
        Arguments = "-username=Alice" 
       } 
     }; 
process.Start(); 

अपनी प्रक्रिया आपको अनुमति जांच करना चाह सकते हैं, जहाँ तक शुरू करने के लिए विफल रहता है मुझे पता है कि आईआईएस पर चल रहे कोड को ऐसा करने की अनुमति नहीं है।