C # कोड से एक exe चलाएँ


163

मैं अपने C # प्रोजेक्ट में एक exe फ़ाइल संदर्भ रखता हूँ। मैं अपने कोड से उस exe को कैसे आमंत्रित करूं?

जवाबों:


287
using System.Diagnostics;

class Program
{
    static void Main()
    {
        Process.Start("C:\\");
    }
}

यदि आपके आवेदन को cmd तर्कों की आवश्यकता है, तो कुछ इस तरह का उपयोग करें:

using System.Diagnostics;

class Program
{
    static void Main()
    {
        LaunchCommandLineApp();
    }

    /// <summary>
    /// Launch the application with some options set.
    /// </summary>
    static void LaunchCommandLineApp()
    {
        // For the example
        const string ex1 = "C:\\";
        const string ex2 = "C:\\Dir";

        // Use ProcessStartInfo class
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.CreateNoWindow = false;
        startInfo.UseShellExecute = false;
        startInfo.FileName = "dcm2jpg.exe";
        startInfo.WindowStyle = ProcessWindowStyle.Hidden;
        startInfo.Arguments = "-f j -o \"" + ex1 + "\" -z 1.0 -s y " + ex2;

        try
        {
            // Start the process with the info we specified.
            // Call WaitForExit and then the using statement will close.
            using (Process exeProcess = Process.Start(startInfo))
            {
                exeProcess.WaitForExit();
            }
        }
        catch
        {
             // Log error.
        }
    }
}

1
startInfo.UseShellExecute = falseबहुत बढ़िया बात थी ... यह मेरे लिए एक आकर्षण की तरह काम करता था! धन्यवाद! :)
राइजिंग हर्क

@ logganB.lehman प्रक्रिया हमेशा के लिए exeProcess.WaitForExit () पर लटकी रहती है; कोई उपाय?
ड्रैगन


11

उदाहरण:

System.Diagnostics.Process.Start("mspaint.exe");

कोड संकलित करना

कोड को कॉपी करें और इसे कंसोल एप्लिकेशन के मुख्य तरीके में पेस्ट करें । "Mspaint.exe" को उस एप्लिकेशन के पथ से बदलें, जिसे आप चलाना चाहते हैं।


15
यह पहले से निर्मित उत्तरों की तुलना में अधिक मूल्य कैसे प्रदान करता है? स्वीकृत उत्तर भी Process.Start()
डिफ़ॉल्ट

3
SO - सरलीकृत के साथ एक शुरुआत में मदद करना ठीक है, कदम से कदम उदाहरण के साथ कई विवरण छीन लिए गए। कैप्स का उपयोग करने के लिए भी ठीक है: P
DukeDidntNukeEm

मुझे बस exe को निष्पादित करने के लिए एक त्वरित तरीके की आवश्यकता थी और यह वास्तव में मददगार था। धन्यवाद :)
सुशांत पूजारी

7

उदाहरण:

Process process = Process.Start(@"Data\myApp.exe");
int id = process.Id;
Process tempProc = Process.GetProcessById(id);
this.Visible = false;
tempProc.WaitForExit();
this.Visible = true;

2

मुझे पता है कि यह अच्छी तरह से उत्तर दिया गया है, लेकिन अगर आप रुचि रखते हैं, तो मैंने एक पुस्तकालय लिखा जो कमांड को निष्पादित करना बहुत आसान बनाता है।

यहाँ देखें: https://github.com/twitchax/Sheller

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.