Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ejecutable con privilegios elevados?

Estas en el tema de Ejecutable con privilegios elevados? en el foro de Visual Basic clásico en Foros del Web. Hola alguien sabe alguna api o codigo para que el ejecutable quede con permisos elevados? Osea que por ejemplo 'proyecto1.exe', tenga los permisos suficientes, porque ...
  #1 (permalink)  
Antiguo 04/06/2011, 13:35
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años, 6 meses
Puntos: 4
Ejecutable con privilegios elevados?

Hola alguien sabe alguna api o codigo para que el ejecutable quede con permisos elevados?
Osea que por ejemplo 'proyecto1.exe', tenga los permisos suficientes, porque cuando le doy clic para ejecutar el exe . el programa intenta escribir en system32 y me dice error a ruta o archivo.
Pero cuando lo ejecuto con el boton derecho y ejecutar como administrador funciona sin problemas.

Alguna api o codigo para
que no haya que darle al boton derecho y ejecutar como administrador.
que en windows7 salga con el escudo......

gracias de antemano
salu2
  #2 (permalink)  
Antiguo 04/06/2011, 13:47
 
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Ejecutable con privilegios elevados?

Nunca lo he utlizado, no se realmente lo que hace. Espero que te sirva.

En el Form MainForm:
Option Explicit

Private Const BCM_SETSHIELD As Long = &H160C&

Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" ( _
ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

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

Private Sub Command1_Click()
ShellExecute hWnd, "runas", "ChildProcess.exe", "", CurDir$(), vbNormalFocus
End Sub

Private Sub Form_Load()
SendMessage Command1.hWnd, BCM_SETSHIELD, 0&, 1&
End Sub


Crear un Modulo llamado MainMod.bas

Option Explicit
Private Type tagInitCommonControlsEx
lngSize As Long
lngICC As Long
End Type

Private Const ICC_USEREX_CLASSES = &H200

Private Declare Function InitCommonControlsEx Lib "comctl32.dll" ( _
iccex As tagInitCommonControlsEx) As Boolean

Private Sub InitCommonControls()
Dim iccex As tagInitCommonControlsEx

With iccex
.lngSize = LenB(iccex)
.lngICC = ICC_USEREX_CLASSES
End With
On Error Resume Next
InitCommonControlsEx iccex
End Sub

Private Sub Main()
InitCommonControls
MainForm.Show
End Sub

Un saludo
  #3 (permalink)  
Antiguo 05/06/2011, 05:14
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 3 meses
Puntos: 29
Respuesta: Ejecutable con privilegios elevados?

No se lo que hace lo de truskyvb ni si te servira. Lo que si puedes es hacer que ese ejecutable se ejecute siempre como "run as administrator" cambiando las propiedades del exe. Propiedades/compatibilidad.
No estará automatizado para que se haga solo, pero una vez configurado te puedes olvidar ya del boton derecho.
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #4 (permalink)  
Antiguo 05/06/2011, 08:28
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años, 6 meses
Puntos: 4
Respuesta: Ejecutable con privilegios elevados?

Gracias a los 2 pero no me sirve.
El codigo de truskyvb no es para lo que yo quiero.

Y tu respuesta pkj no esta del todo mal, pero ya lo habia probado, le pones en las propiedades clickado ejecutar como administrador y solo se quedan en tu equipo clickadas, porque en cuanto metes el ejecutable por ejemplo en un pendrive u otro equipo se copia el ejecutable con la propiedad desclickada.

gracias a los 2


mas bien investigando creo que tiene que ver con adjustokenprivileges.
sigo investigando.....
algo parecido ya sabia hacer con eso apagar el equipo, forzar y reiniciar para eso usaba adjustoken para los permisos necesarios, pero no logro usar lo mismo para los permisos de administrador.

Etiquetas: ejecutable, privilegios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:43.