ฉันมีไฟล์ exe อ้างอิงในโครงการ C # ของฉัน ฉันจะเรียก exe นั้นจากรหัสของฉันได้อย่างไร
ฉันมีไฟล์ exe อ้างอิงในโครงการ C # ของฉัน ฉันจะเรียก exe นั้นจากรหัสของฉันได้อย่างไร
คำตอบ:
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.
}
}
}
ตัวอย่าง:
System.Diagnostics.Process.Start("mspaint.exe");
รวบรวมรหัส
คัดลอกรหัสและวางลงในวิธีการหลักของแอปพลิเคชันคอนโซล แทนที่ "mspaint.exe" ด้วยพา ธ ไปยังแอปพลิเคชันที่คุณต้องการเรียกใช้
Process.Start()
ตัวอย่าง:
Process process = Process.Start(@"Data\myApp.exe");
int id = process.Id;
Process tempProc = Process.GetProcessById(id);
this.Visible = false;
tempProc.WaitForExit();
this.Visible = true;
ฉันรู้ว่านี่เป็นคำตอบที่ดี แต่ถ้าคุณสนใจฉันเขียนไลบรารีที่ทำให้การเรียกใช้คำสั่งง่ายขึ้นมาก
startInfo.UseShellExecute = falseมันเป็นสิ่งที่ยอดเยี่ยม ... มันใช้ได้ผลกับฉันเหมือนมีเสน่ห์! ขอบคุณ! :)