現在C#を使用しているのですがFindWindowについて教えてください。

ある監視ソフトを作っており、イベントが起きると別アプリを起動します。
その際にFindWindowにてハンドルを取得できればそのアプリにメッセージ(SendMessage)を
送ります。取得できなければ起動するという処理を行っております。

困っているのは、アプリ名が同じ場合(プログラム名は違います)にうまく取得できません。

また、それと逆にイベントが起きると閉じる処理PostMessageを行うようにしていますが、
同じく同じ名前だとうまく処理できません。何かいい方法があるのでしょうか?よろしくおねがいします。