2017-11-19 7 views
0

私は、別のアプリケーションを閉じるために別のアプリケーションを再起動するための単純なコンソールアプリケーションを作成しようとしています。それは私が勝利7でそれを試したときに働いたが、勝利10でそれを実行すると、アプリを見つけたり、たくさんのコンソールを開くことはありません。 アプリは暗号化の鉱夫です.1つはAMD(動作するもの)ともう1つはnvidia(これはありません)のためにコード化されています。問題がアプリケーションの作成方法や特定のもの私が知らないかもしれない事。 私はまだコーディングしていないので、まだ分からないことがあります。まだ開いていないバッチやアプリケーションを開く方法に関するアイデアはありますか? (タスクマネージャからの読み込み)

これは私がこれまで試したものです:

using System; 
using System.Diagnostics; 
using System.ComponentModel; 

namespace Resetapp 
{ 
    class Program 
    { 
     static public bool IsProcessOpen(string name) 
     { 
      foreach (Process clsProcess in Process.GetProcesses()) 
       if (clsProcess.ProcessName.Contains(name)) return true; 
        return false; 
     } 

     static void Main(string[] args) 
     { 

      while (true) if (!IsProcessOpen("batch file")) 
          Process.Start("path to batch file"); 
     } 
    } 
} 

はどうもありがとうございました!!

答えて

0

私はコードが括弧なしで実行されたか、100%わからないんだけど、私はIsProcessOpenは次のようになりますことを前提としています:エルス

static public bool IsProcessOpen(string name) 
{ 
    foreach (Process clsProcess in Process.GetProcesses()) 
    { 
    if (clsProcess.ProcessName.Contains(name)) 
    return true; 
    } 
    return false; 
} 

方法が唯一のプロセスリストの最初の項目を見て。

+0

ありがとうございます!私はどのように忘れてしまったのか、なぜVSが何かエラーを報告しなかったのか分かりません。 私はそれを試してみると、それが働いた場合にお知らせします! –

+0

UPDATE 11/21: ブラケットを追加しようとしましたが、何も変わりませんでした。デバッグするときに、バッチが認識されないことに気付いた。 1_theアプリケーションが開かれていない 2_ループが発生し、cmdが無期限に開かれる。(バッチは望んでいない) AMDの鉱山7はまだ完全に動作していますので、作業したい、または何をしようとしているかに問題があるかどうかはわかりませんが、実行中のアプリケーションとして認識されていません –

+0

ループ処理を行わずにバッチファイルを開始しますか? –

関連する問題