以下のコードを使用して、実行中のプロセスのベースアドレスを見つけています。他の目的のためのタイマー コントロール内にあります。ターゲット プロセスが実行されていない場合、ラベル テキストに「プロセスが実行されていません」と表示したいのですが、実行中のプロセスをチェックし続け、見つかった場合は次のコード ブロックに進みます。例外処理を使用した「試行」など、うまくいくと思われるいくつかの方法を試しましたが、ラベルを保持するために使用しているフォームがフリーズするだけで、c# は初めてです。ここにコードがあります、
private void timer1_Tick(object sender, EventArgs e)
{
#region BaseAddress
Process[] test = Process.GetProcessesByName("process");
int Base = test[0].MainModule.BaseAddress.ToInt32();
#endregion
//Other code
}
実行時の例外は次のとおりです。「IndexOutOfRange 例外が処理されませんでした」 - インデックスが配列の境界外にありました。うまくいけば、誰かが助けてくれるでしょう。ありがとう。