2016-05-20 8 views
0

C#からプログラムで外部サードパーティアプリケーションを開始します。 タスクマネージャに表示される名前を変更したいと思います。ファイルをコピーまたは名前を変更せずに、タスクマネージャーでプログラムで起動した外部アプリのタイトルを変更します。

EXEのコピーを作成したり、ファイルの名前を変更することは望ましくありません。 目的はプログラムで開始されたアプリを特定することです。タスクマネージャで同じアプリがユーザーによって手動で開始された場合

可能ですか?

+0

そのアプリの_window_ titleを変更するだけでは不十分です(プロセスを拡張すると、ウィンドウマネージャの名前もタスクマネージャに表示されます)。 – Evk

+0

実際には、ウィンドウを表示せずにサイレントモードでアプリを起動します。 – AllSolutions

答えて

0

プログラムの.exeのファイル名が同じであると仮定すると、開始されたプロセスのPIDを使用することができます。たとえば:

var process = Process.Start("notepad.exe"); 
Console.WriteLine(process.Id); 

あなたがする必要があるだろうすべては、そのIDを格納するだろう、とあなたが興味を持っている.exeファイル名に一致する他のプロセスをスキャンあなたは、その後のIDを比較することができると思います。ストアドIDとの一致があれば、プログラムで起動したかどうかを確認できます。

+0

実際には、タスクマネージャでユーザーに通知したいと思います。プログラムでは、プロセスIDを使って私の開始プロセスを特定することができますが、私の心配は、ユーザーが手動でアプリケーションを起動していて、タスクマネージャからkillしたい場合は、2つのエントリが表示されます。もう一方はプログラム的に開始されました。私は開始したものに "DONT KILL"の接尾辞を付けたいと思います。 – AllSolutions

+0

解決策はありますか? – AllSolutions

+0

@AllSolutionsそれは可能性があります - マルウェアの作成者がそれを行いますが、アセンブリのバージョン情報は実行時に変更されるはずがありません。 –

関連する問題