2013-03-21 61 views
1

我試圖打開SQL Server Management Studio中,programitically,我已經使用過程打開SQL Server和已經使用start()方法打開的過程中,綁定到現有進程

    using System.Diagnostics; 
        Process Sql = new Process(); 
        string strfile1="example1.sql"; 
        string strfile2="example2.sql"; 
        Sql.StartInfo.FileName = "Ssms.exe";//sql server process 
        Sql.StartInfo.Arguments = strfile1; 
        Sql.Start(); 
        Sql.StartInfo.Arguments = strfile2; 
        Sql.Start(); 

此代碼打開SQL Server的兩個實例,但我想檢查該進程是否已在運行,並重用現有進程並在同一Process中打開example2.sql。可以這樣做嗎?

回答

1

如果一個進程的名字運行您可以檢查(你需要找出你的SSMS進程的名字)是這樣的:

Process[] procName= Process.GetProcessesByName("INSERT NAME HERE"); 
if (procName.Length >= 0) 
{ 
    //you are already running 
} 

,但我不認爲你可以再修改ssms的現有實例。

1

如果讓操作系統決定要做什麼,該怎麼辦?

Process.Start("example1.sql"); 
Process.Start("example2.sql");