Вызов программы с запросом на права администратора - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы