Добрый день!
Помогите советом. Есть маленикая программа которая через ключ производит всякие операции над сервисами. Она отлично работала на WinXPsp2. Но проблема заключается в том, что она наотрез отказывается работать под Vista (любой модификации - ультимат, бизнес и также 32/64бит разницы не имеет). Сразу скажу что у пользоватеся под вистой административные права.
Я выяснил что проблема кроется в открытии менеджера сервисов с полным доступом:
hManager = OpenSCManager("", SERVICES_ACTIVE_DATABASE, SC_MANAGER_ALL_ACCESS)
где SERVICES_ACTIVE_DATABASE = "ServicesActive" и SC_MANAGER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED _
Or SC_MANAGER_CONNECT Or SC_MANAGER_CREATE_SERVICE _
Or SC_MANAGER_ENUMERATE_SERVICE Or SC_MANAGER_LOCK Or _
SC_MANAGER_QUERY_LOCK_STATUS Or SC_MANAGER_MODIFY_BOOT_CONFIG).
естественно если я открываю например с параметром SC_MANAGER_ENUMERATE_SERVICE то hManager <> 0 но тогда я могу только прочитать наличие процессов и управлять ними доступа быть не может.
Я так понимаю виста режет комманду hManager = OpenSCManager("", SERVICES_ACTIVE_DATABASE, SC_MANAGER_ALL_ACCESS)
Подскажите пожалуйсте - есть ли возможность этот глюк обойти
З.Ы. рекомендовать мне отстать от vista делу не поможет. так как нужно программа с совместимостью NT,XP,Vista. Клиентам некий комплекс ставим.
Заранее спасибо за любой ответ!