Вызов программы с запросом на права администратора - VB
Формулировка задачи:
Собственно, из основной программы вызываются вспомогательные программы, которым требуются права администратора
Но, почему то для одной программы окошко с запросом прав выскакивает, а для другой нет
Вот думаю, что делать? Вызывать программы с помощью CreateProcess?
Как прикрутить к ShellExecuteEx айпишку ожидания - WaitForSingleObject ? голова кругом уже идет...
как можно просто заставить ехе-шник требовать права администратора при запуске? (естественно в самом ехе-шнике)
// нужно не только вызвать запросив права администратора, но и дождаться заверешния
Пытался нагуглить по поводу записей в реестре об запросах прав
Вот что нашел, но так и не понял как использовать...
помогите нубу
Спойлер
Не по теме:
я надеюсь ссылки на другие форумы данной тематики не являются рекламой?
Решение задачи: «Вызов программы с запросом на права администратора»
textual
Листинг программы
Option Explicit Sub Main() MsgBox "Run" Call CheckUAC 'main routine ... End Sub Private Sub CheckUAC() Dim colOS, oOS, strOSLong, oShellApp Set colOS = GetObject("winmgmts:\root\cimv2").ExecQuery("Select * from Win32_OperatingSystem") For Each oOS In colOS strOSLong = oOS.Version Next If Left(strOSLong, 1) = "6" Then If Not isAdminRights Then Set oShellApp = CreateObject("Shell.Application") oShellApp.ShellExecute App.Path & "\" & App.EXEName & ".exe", "", "", "runas", 1 End End If End If End Sub Function isAdminRights() Const HKCU = &H80000001, HKLM = &H80000002, KQV = &H1, KSV = &H2 Dim oReg, strKey, intErrNum, flagAccess Set oReg = GetObject("winmgmts:root\default:StdRegProv") strKey = "System\CurrentControlSet\Control\Session Manager" intErrNum = oReg.CheckAccess(HKLM, strKey, KQV + KSV, flagAccess) isAdminRights = flagAccess MsgBox isAdminRights End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д