Проверка есть в методе sendWindowsStringMessage, который отправляет SendMessage первому запущенному окну если hWnd != 0, но так как FindWindow вызывается раньше чем полностью открывается первое окно, то hWnd всегда 0. Если в системе уже работает одна такая программа то всё работает на ура. В этом вся проблема, где и какие проверки ещё нужны я не понимаю. Может у меня неправильный подход к решению задачи, может всё проще?