Como ejecut Shell como Administrador?

Iniciado por RiasChan, 23 Julio 2019, 20:17 PM

0 Miembros y 1 Visitante están viendo este tema.

RiasChan

Básicamente, mi programa tiene que ejecutar programas, pero como sabemos eso de "ejecutarlo y listo" murió con Windows XP. Desde Vista en adelante está el UAC y toda esa basura. Que no es problema, si el usuario tiene que confirmar abrir el .exe que yo mando la orden con el Shell de VB6 no es drama, el drama es que si el .exe no tiene tildado el "Ejecutar como administrador" el programa o no abre, o abre y no hace lo que tiene que hacer. La pregunta es, como hago para que el Shell ejecute programas como adminsitrador?

MCKSys Argentina

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


RiasChan

#2
Cita de: MCKSys Argentina en 23 Julio 2019, 20:52 PM
Hola!

Unos de los primeros resultados de Google: http://www.vbforums.com/showthread.php?594579-Shell-app-with-administrator-privileges

Otro mas: http://www.vbforums.com/showthread.php?673344-RESOLVED-run-as-admin-shellexecute-or-manifest

Saludos!

Te soy honesto, ya lo tengo puesto y andando, es lo primero que hice. El tema, es que particularmente en mi pc creo q (no se como hice en su momento con mi Win7) De default corre todo como admin, como WIndows XP). Asi que.. realmente no sé cuando algo me lo ejecuta o no como admin.. si ese es el codigo, lo tengo, pero no puedo probarlo :S necestaria una PC con una instalacion basica y bien bloqueada, o en algun lado dice o te podes dar cuenta?


La 2da opcion era. No sé si estaba dormido o algo anoche, pero tal vez no vi esa, vi varias de vbforums y no las probe todas. pero esta si anda, me di cuenta que anda. Saludos y mil gracias broly




Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'donde se va a ejecutar la accion:
ShellExecute 0, "runas", App.Path & "\MyExe.exe", requireAdministrator, vbNullString, 3


MOD: No hacer doble post. Usa el boton modificar.