2016-05-09 46 views
-3

我有一個名爲A的程序,它負責告訴用戶有關我的程序的新聞和更新,然後它應該運行程序B,這是主程序。我如何讓程序B只能從程序A打開?僅從程序A運行程序B?

+0

如果沒有更多的細節(以及一些代碼..),這是相當廣泛的。 –

+0

@DangerZone這對我來說很清楚。他想製作一個發射器,就像暴雪遊戲中的一個。 –

+1

@ThalesPereira - 好吧,所以不清楚。但它很廣泛。當然可以回答,但答案同樣廣泛。 –

回答

3

我不保證這是最好的解決方案,但它可以很容易地實現:嘗試爲您開始的程序設置一個環境變量。當新程序啓動時,它應該檢查該環境變量,如果它不存在則關閉。

所以在程序A:

public static void StartProgramB() 
{ 
    Process p = new Process(); 
    p.StartInfo.FileName = "programb.exe"; 
    //Other startinfo calls go here: parameters, start options, etc. 
    p.StartInfo.EnvironmentVariables["CalledFromProgramA"] = "true"; 
    p.Start(); 

    p.WaitForExit(); 
} 

和方案B:

public static void Main() 
{ 
    if(Environment.GetEnvironmentVariable("CalledFromProgramA") != "true") 
     return; 
} 
+0

我顯然回答了一個無法回答的問題......沒想到它太不明瞭 –