VB6.0の
If App.PrevInstance Then
をアップグレードウィザードで変換すると、
If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
になるのだけれど、このコード、どうやら、Windowクラス名を見ず、キャプションしか見ていないようで、
他のアプリ(VB6.0でも、Delphiでも・・・)で同名のWindowが立ち上がっていると、誤動作するようです。w
FindWindow でWindowクラス名とタイトルの両方を指定すれば別アプリかどうか判定できるので、問題ない
といえば、ないけれど、ショボ過ぎ。w