Клик по иконке в панели задач приводит к запуску приложения. Если ваше приложение уже запущено, запустится ещё одна копия.
Если вы хотите, чтобы ваше приложение запускалось только единожды (в одном экземпляре), то есть несколько подходов - либо создавать в системе
мьютекс, и удерживать его до выхода (при повторном запуске, если мьютекс занят, завершать приложение), вот
здесь описано подобное решение. (Там же приведён код активации окна уже запущенного приложения, если оно свёрнуто).
Альтернативно, можно смотреть список запущенных процессов, искать свой процесс, и выходить, если найден.
Либо в качестве мьютекса можно использовать любой блокирруемый системный ресурс (например, файл), но это не правильно.
Ещё можно использовать именованный канал (
named pipe), но это более громоздкое решение, и его следует использовать только если вам нужно осуществлять коммуникации между несколькими копиями вашего приложения.