Зависит от программы, иконку которой вы хотите сменить, и ее архитектуры. К примеру, тот же пунто свитчер меняет иконку, в зависимости от настроек и ситуации. И я не смотрел, как именно он это делает, не обязательно берет иконку из файла или ресурсов в exe, он может и на лету ее "рисовать".
В теории можно всё. И здесь два основных пути. Либо как-то дизассемблируем программу или достаем ее исходники и меняем ее саму. Либо программу не трогаем, а сверху навешиваем костыль в виде другой программы, которая будет как-то перехватывать первую или даже тупо спамить зелеными иконками (самое простое решение), т.е. даже если иконка сменится, то она сразу же будет снова заменена на зеленый квадрат, но это надо, чтобы своя самописная программа сидела в фоне и контролировала первую.
То есть в любом случае, скорее всего, нужно будет программное решение, а не поменять значение в реестре. Просто значение поменять возможно, только если в архитектуре самой программы заложена такая настройка, но она довольно бессмысленная, так что вряд ли она есть.