У меня есть программа, которая все еще должна предназначаться для Windows XP (_WIN32_WINNT 0x501), так как большинство наших клиентов все еще используют XP. Тем не менее, мы уже некоторое время поставляем Vista, и сейчас настаиваем на обновлениях Windows 7. Для правильной работы программного обеспечения на новых ОС существует пара операций, которые требуют повышения уровня контроля учетных записей. У меня работает код повышения, но хотелось бы, чтобы значок UAC присутствовал на кнопках, запускающих процесс UAC. К сожалению, для всех параметров, определенных в документе Microsoft UAC UI , требуется _WIN32_WINNT 0x600 или более поздняя версия.
Есть ли какой-нибудь способ получить соответствующий значок UAC (Vista и 7 используют разные) для отображения на кнопке, в то же время имея возможность выбрать XP (где значок не будет отображаться)? Я использую C ++, но, возможно, смогу адаптировать решение .NET.