■No45536 (魔界の仮面弁士 さん) に返信
> ■No45527 (ぽぴ王子 さん) に返信
>>つまり、GetProcessByNameメソッドが返すProcess型の配列の中身が0個より多い(=1個以上)場合に
>>処理を行うという書き方になります。
>
> 「添字の最大値が 0 よりも大きい」なので、「2個以上」だと思います。
> (要素数 0 の配列に対しては、UBound は -1 を返します)
なるほど。UBoundの動きを勘違いしていました。
> 今回の PrevInstance は恐らく、「自分と同じ exe が既に起動されていたか」を調べる物なので、
> 自分自身を除外して、「2個以上なら true」「1個(以下)ならば false」を返そうとしているのかと。
PrevInstance という名前から察するに、そういうことなのでしょうね。
とすると、こんな感じになるかな。
public bool PrevInstance()
{
if (System.Diagnostics.Process.GetProcessesByName(System.Diagnostics.Process.GetCurrentProcess().ProcessName)).Length >= 2)
{
return true;
}
else
{
return false;
}
}
※テストはしていません
|