ฉันจะเปิดแอปพลิเคชันโดยใช้ C # ได้อย่างไร
ข้อกำหนด: ต้องทำงานบนWindows XPและWindows VistaVista
ฉันได้เห็นตัวอย่างจากตัวอย่างของ DinnerNow.net ที่ใช้งานได้ใน Windows Vista เท่านั้น
ฉันจะเปิดแอปพลิเคชันโดยใช้ C # ได้อย่างไร
ข้อกำหนด: ต้องทำงานบนWindows XPและWindows VistaVista
ฉันได้เห็นตัวอย่างจากตัวอย่างของ DinnerNow.net ที่ใช้งานได้ใน Windows Vista เท่านั้น
คำตอบ:
ใช้System.Diagnostics.Process.Start()
วิธีการ
ลองอ่านบทความนี้เกี่ยวกับวิธีใช้งาน
Process.Start("notepad", "readme.txt");
string winpath = Environment.GetEnvironmentVariable("windir");
string path = System.IO.Path.GetDirectoryName(
System.Windows.Forms.Application.ExecutablePath);
Process.Start(winpath + @"\Microsoft.NET\Framework\v1.0.3705\Installutil.exe",
path + "\\MyService.exe");
นี่คือตัวอย่างของรหัสที่เป็นประโยชน์:
using System.Diagnostics;
// Prepare the process to run
ProcessStartInfo start = new ProcessStartInfo();
// Enter in the command line arguments, everything you would enter after the executable name itself
start.Arguments = arguments;
// Enter the executable to run, including the complete path
start.FileName = ExeName;
// Do you want to show a console window?
start.WindowStyle = ProcessWindowStyle.Hidden;
start.CreateNoWindow = true;
int exitCode;
// Run the external process & wait for it to finish
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
// Retrieve the app's exit code
exitCode = proc.ExitCode;
}
มีมากที่คุณสามารถทำกับวัตถุเหล่านี้คุณควรอ่านเอกสาร: ProcessStartInfo , กระบวนการ
PathTo*.exe
แต่ฉันไม่คาดหวังว่ามันจะทำงาน (a) เกิดอะไรขึ้นถ้ามีการแข่งขันหลายรายการ? (b) ฉันหวังว่ารหัสของ Microsoft จะไม่อนุญาตให้ทำเช่นนี้เพราะความปลอดภัยจะลดลง
System.Diagnostics.Process.Start("PathToExe.exe");
System.Diagnostics.Process.Start( @"C:\Windows\System32\Notepad.exe" );
หากคุณมีปัญหาในการใช้ System.Diagnostics เหมือนฉันใช้รหัสง่าย ๆ ต่อไปนี้ที่จะทำงานได้โดยไม่ต้องใช้:
Process notePad = new Process();
notePad.StartInfo.FileName = "notepad.exe";
notePad.StartInfo.Arguments = "mytextfile.txt";
notePad.Start();
Process
อยู่ใน System.Diagnostics
นอกจากนี้คุณจะต้องใช้ตัวแปรสภาพแวดล้อมสำหรับเส้นทางของคุณหากเป็นไปได้: http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows
เช่น
มีอีกมากมายลองดูลิงค์สำหรับรายการที่ยาวขึ้น
เพียงแค่ใส่ file.exe ของคุณในโฟลเดอร์ \ bin \ Debug และใช้:
Process.Start("File.exe");
ใช้Process.Startเพื่อเริ่มต้นกระบวนการ
using System.Diagnostics;
class Program
{
static void Main()
{
//
// your code
//
Process.Start("C:\\process.exe");
}
}
ลองสิ่งนี้:
Process.Start("Location Of File.exe");
(ตรวจสอบให้แน่ใจว่าคุณใช้ไลบรารี System.Diagnostics)