border
VB 6
 
 
/

Retroceder   VB-MUNDO - Visual Basic, y mucho mas > Programacion > Visual Basic 6.00
Olvidó Password? Registrarse!
Registrarse FAQDonate Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

El Mejor Hosting .NET Framework 4.0

En VB-MUNDO usamos el increible servicio de SmarterASP

Respuesta
 
LinkBack (1) Herramientas
  #11 (permalink)  
Antiguo 31-08-2010, 12:37:11
Usuario VIP del Foro
 
Registrado: ago 2004
Ubicación: Tunja
Posts: 547
Créditos: 7.713
chronos682 Valoración +2
Contactar con chronos682 a través de MSN Contactar con chronos682 a través de Yahoo
Predeterminado Re: Ejecutar programa como administrador

Encontré otra forma de hacerlo con la API de Windows CreateProcesswithLogon aquí te adjunto un ejemplo para que lo acomodes a tu programa.

Código:
Private Const LOGON_WITH_PROFILE = &H1&
Private Const LOGON_NETCREDENTIALS_ONLY = &H2&
Private Const CREATE_DEFAULT_ERROR_MODE = &H4000000
Private Const CREATE_NEW_CONSOLE = &H10&
Private Const CREATE_NEW_PROCESS_GROUP = &H200&
Private Const CREATE_SEPARATE_WOW_VDM = &H800&
Private Const CREATE_SUSPENDED = &H4&
Private Const CREATE_UNICODE_ENVIRONMENT = &H400&
Private Const ABOVE_NORMAL_PRIORITY_CLASS = &H8000&
Private Const BELOW_NORMAL_PRIORITY_CLASS = &H4000&
Private Const HIGH_PRIORITY_CLASS = &H80&
Private Const IDLE_PRIORITY_CLASS = &H40&
Private Const NORMAL_PRIORITY_CLASS = &H20&
Private Const REALTIME_PRIORITY_CLASS = &H100&
Private Type PROCESS_INFORMATION
    hProcess As Long
    hThread As Long
    dwProcessId As Long
    dwThreadId As Long
End Type
Private Type STARTUPINFO
    cb As Long
    lpReserved As Long
    lpDesktop As Long
    lpTitle As Long
    dwX As Long
    dwY As Long
    dwXSize As Long
    dwYSize As Long
    dwXCountChars As Long
    dwYCountChars As Long
    dwFillAttribute As Long
    dwFlags As Long
    wShowWindow As Integer
    cbReserved2 As Integer
    lpReserved2 As Byte
    hStdInput As Long
    hStdOutput As Long
    hStdError As Long
End Type
Private Declare Function CreateProcessWithLogon Lib "Advapi32" Alias "CreateProcessWithLogonW" (ByVal lpUsername As Long, ByVal lpDomain As Long, ByVal lpPassword As Long, ByVal dwLogonFlags As Long, ByVal lpApplicationName As Long, ByVal lpCommandLine As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO, lpProcessInfo As PROCESS_INFORMATION) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Sub Form_Load()
    Dim lpUsername As String, lpDomain As String, lpPassword As String, lpApplicationName As String
    Dim lpCommandLine As String, lpCurrentDirectory As String
    Dim StartInfo As STARTUPINFO, ProcessInfo As PROCESS_INFORMATION
    lpUsername = "OtherUser"
    lpDomain = ""
    lpPassword = "other_user_password"
    lpApplicationName = "C:\WINNT\NOTEPAD.EXE"
    lpCommandLine = vbNullString 'use the same as lpApplicationName
    lpCurrentDirectory = vbNullString 'use standard directory
    StartInfo.cb = LenB(StartInfo) 'initialize structure
    StartInfo.dwFlags = 0&
    CreateProcessWithLogon StrPtr(lpUsername), StrPtr(lpDomain), StrPtr(lpPassword), LOGON_WITH_PROFILE, StrPtr(lpApplicationName), StrPtr(lpCommandLine), CREATE_DEFAULT_ERROR_MODE Or CREATE_NEW_CONSOLE Or CREATE_NEW_PROCESS_GROUP, ByVal 0&, StrPtr(lpCurrentDirectory), StartInfo, ProcessInfo
    CloseHandle ProcessInfo.hThread 'close the handle to the main thread, since we don't use it
    CloseHandle ProcessInfo.hProcess 'close the handle to the process, since we don't use it
    'note that closing the handles of the main thread and the process do not terminate the process
    'unload this application
    Unload Me
End Sub
Espero te sea de ayuda.
__________________
HERNAN GUILLERMO SIABATO M.
Medicina - UPTC
chronos682@hotmail.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #12 (permalink)  
Antiguo 31-08-2010, 14:45:30
Avatar de rbarrios
Buena Participación en el Foro
 
Registrado: sep 2006
Ubicación: Paraguay
Posts: 53
Créditos: 1.913
rbarrios Valoración +2
Predeterminado Re: Ejecutar programa como administrador

Gracias Hernan,
Voy a probar eso. Te cuento que lo del runas no funciona. Probe varias otras formas que encontre en internet y nada. No ejecuta ni con mi usuario Administrador el archivo .vbs
Ya encontre como hacer que aparezcan las pestañas de Seguridad en las propiedades de Carpetas y Archivos. Le puse a los Usuarios permisos de CONTROL TOTAL y nada.
Tampoco funciona.
Pero voy a probar esto.
Gracias nuevamente amigo.
__________________
Lic. Rafael Barrios Falcón
ELECTROMATICA
--------------------------------------
"El saber y el conocimiento compartido, es la mejor forma de crecer todos juntos y soñar con un mundo mejor."
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #13 (permalink)  
Antiguo 31-08-2010, 14:58:49
Gran Participación en el Foro
 
Registrado: feb 2009
Ubicación: Vigo (España)
Posts: 416
Créditos: 2.427
HAL2001 Aun no valorado
Predeterminado Re: Ejecutar programa como administrador

Cita:
Empezado por chronos682 Ver Mensaje
Encontré otra forma de hacerlo con la API de Windows CreateProcesswithLogon aquí te adjunto un ejemplo para que lo acomodes a tu programa.
Muchas gracias, no conocía esa API.
Yo para cosas parecidas, no exactamente lo mismo, probé con LogonUser y con WNetAddConnection2 para tener acceso a recursos de red.
Esa podría venirme muy bien, pero en la primera prueba no me funciona. Puede que tenga que ver con que en el equipo donde trabajo no me logueo dentro del dominio al que quiero asignar el proceso... o algo así, salvo error garrafal.
Seguiré dándole vueltas cuando tenga tiempo porque a primera vista eso hace cosas que no se consiguen con las APIs que comenté antes.

Un saludo y nuevamente gracias por la info.
__________________
"Deseo proponer a la favorable consideración del lector una doctrina que, me temo, podrá parecer
desatinadamente paradójica y subversiva. La doctrina en cuestión es la siguiente: no es deseable creer una proposición cuando no existe fundamento para suponer que sea cierta."
[Bertrand Russell]
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #14 (permalink)  
Antiguo 31-08-2010, 17:55:28
Avatar de rbarrios
Buena Participación en el Foro
 
Registrado: sep 2006
Ubicación: Paraguay
Posts: 53
Créditos: 1.913
rbarrios Valoración +2
Predeterminado Re: Ejecutar programa como administrador

Hernan, Sigue sin funcionar. Copie ese codigo en un proyecto nuevo, lo compile y nada.
Tambien lo agregué a mi proyecto y nada.
Sencillamente no hace nada.
Yo uso la cuenta Administrador que viene por defecto en el windows y funcionan los ejecutables.
Pero con una Cuenta Administrador que cree yo y otra Limitada, no pasa nada.
En la otra cuenta administrador: Administrador2 me da error de librerias DAO350.LL, etc.
No se ejecuta ni el Visual Basic 6.
Al querer ejecutar mi ejecutable con el programa RUNAS me pide la contraseña pero sale error: 5, Acceso denegado.
Uso el sgte. comando: runas /user:Administrador "D:\MiCarpeta\PROGRAMA.EXE"
Pero da el error 5.
Otra cosa, el usuario Limitado, puede ver y modificar la pestaña "Seguridad" de carpetas y archivos. No debería pasar eso verdad?
Pienso que algo está mal instalado, porque el Administrador2 tampoco puede ejecutar ni el Visual Basic.
Voy a seguir investigando.
__________________
Lic. Rafael Barrios Falcón
ELECTROMATICA
--------------------------------------
"El saber y el conocimiento compartido, es la mejor forma de crecer todos juntos y soñar con un mundo mejor."
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #15 (permalink)  
Antiguo 31-08-2010, 20:40:16
Usuario VIP del Foro
 
Registrado: ago 2004
Ubicación: Tunja
Posts: 547
Créditos: 7.713
chronos682 Valoración +2
Contactar con chronos682 a través de MSN Contactar con chronos682 a través de Yahoo
Predeterminado Re: Ejecutar programa como administrador

Amigo rbarrios, estuve probando el código de la página web que te envié primero y funciona perfectamente, de hecho te voy a adjuntar el código que utilicé y que por lo menos a mi me funciona perfecto, lo probé en una cuenta limitada llamada Usuario para que ejecutara el notepad desde la cuenta Hernan que es la de administrador del equipo y funciona correctamente.

NOTA: Debes generar el .exe primero para que funcione y ejecutarlo directamente desde el, no desde el IDE del VB.

Código:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
'Ejecuta el runas.exe
'/user:Hernan es el nombre de usuario de la cuenta de administrador
'cambiar C:\WINDOWS\notepad.exe por el path del ejecutable
Shell "runas.exe " & "/user:Hernan " & Chr$(34) & "C:\WINDOWS\notepad.exe" & chr$(34), vbNormalFocus
'Detiene la ejecución del programa 100 ms
Sleep 100
'Limpia el Clipboard
Clipboard.Clear
'Copia la contraseña al portapapeles
'Cambiar 123456789 por la contraseña de la cuenta de usuario
Clipboard.SetText "123456789" & Chr$(13)
Sleep 100
'Activa la ventana de MS-DOS
AppActivate "C:\WINDOWS\system32\runas.exe", True
'Pega el contenido del portapapeles en el prompt
SendKeys "% {e}{p}", True
'Limpia el portapapeles para que no tengan la contraseña
Clipboard.Clear
End Sub
Espero y a ti también te funcione.
__________________
HERNAN GUILLERMO SIABATO M.
Medicina - UPTC
chronos682@hotmail.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #16 (permalink)  
Antiguo 01-09-2010, 01:01:06
Avatar de rbarrios
Buena Participación en el Foro
 
Registrado: sep 2006
Ubicación: Paraguay
Posts: 53
Créditos: 1.913
rbarrios Valoración +2
Predeterminado Re: Ejecutar programa como administrador

Estimado Hernan,
No funciona, Probe asi mismo como esta y tambien con varias modificaciones y no hay caso.
Se abre una ventana del DOS y se cierra ensegida sin ejecutar ningun programa (ni el notepad.exe)
Abri una ventana del DOS (simbolo de comando) y descubri que da un error:

ver imagen: ErrorRunas.jpg

El notepad.exe funciona sin problema si lo ejecuto directamente desde el explorador de windows. Pero con el runas da el error que esta en la imagen: ErrorRunas.jpg
Imágenes Adjuntas
Tipo de Archivo: jpg ErrorRunas.jpg (75,9 KB, 16 visitas)
__________________
Lic. Rafael Barrios Falcón
ELECTROMATICA
--------------------------------------
"El saber y el conocimiento compartido, es la mejor forma de crecer todos juntos y soñar con un mundo mejor."
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #17 (permalink)  
Antiguo 01-09-2010, 01:32:35
Usuario VIP del Foro
 
Registrado: ago 2004
Ubicación: Tunja
Posts: 547
Créditos: 7.713
chronos682 Valoración +2
Contactar con chronos682 a través de MSN Contactar con chronos682 a través de Yahoo
Predeterminado Re: Ejecutar programa como administrador

Ahí si no se como más ayudarte porque he probado el programa en 3 computadores diferentes y en los 3 me ha funcionado correctamente, no se si sea error de tu SO o que pueda estar ocurriendo. El usuario Administrador tiene contraseña? porq si está en blanco te va a dar error.
__________________
HERNAN GUILLERMO SIABATO M.
Medicina - UPTC
chronos682@hotmail.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #18 (permalink)  
Antiguo 01-09-2010, 01:40:13
Avatar de rbarrios
Buena Participación en el Foro
 
Registrado: sep 2006
Ubicación: Paraguay
Posts: 53
Créditos: 1.913
rbarrios Valoración +2
Predeterminado Re: Ejecutar programa como administrador

Recien instale mi SO pero me da algunos errores en otros programas. Puede ser que sea eso.
Voy a probarlo en otra computadora.
Igualmente muchas gracias.
__________________
Lic. Rafael Barrios Falcón
ELECTROMATICA
--------------------------------------
"El saber y el conocimiento compartido, es la mejor forma de crecer todos juntos y soñar con un mundo mejor."
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #19 (permalink)  
Antiguo 01-09-2010, 02:08:27
Usuario VIP del Foro
 
Registrado: ago 2004
Ubicación: Tunja
Posts: 547
Créditos: 7.713
chronos682 Valoración +2
Contactar con chronos682 a través de MSN Contactar con chronos682 a través de Yahoo
Predeterminado Re: Ejecutar programa como administrador

¿Alguno de los moderadores o algún otro usuario puede probar el código que coloque antes para saber si es error del código o problema del PC del amigo rbarrios?
__________________
HERNAN GUILLERMO SIABATO M.
Medicina - UPTC
chronos682@hotmail.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #20 (permalink)  
Antiguo 01-09-2010, 02:29:22
Usuario VIP del Foro
 
Registrado: ago 2004
Ubicación: Tunja
Posts: 547
Créditos: 7.713
chronos682 Valoración +2
Contactar con chronos682 a través de MSN Contactar con chronos682 a través de Yahoo
Predeterminado Re: Ejecutar programa como administrador

Creo que ya encontré la causa de que te aparesca ese error y es porque no tienes activado el servicion Secondary Logon, debes activarlo primero para que funcione el runas así:

Ve a Inicio - Programas - Herramientas administrativas - Servicios, busca Secondary Logon en la lista de servicios y dale doble clic, cuando se abra el cuadro de diálogo selecciona Automatico en Tipo de inicio o algo así porque mi SO es en Inglés y dice Startup Type, luego dale clic al botón Empezar o Iniciar o Start.

Espero que esto te ayude a solucionar tu problema.
__________________
HERNAN GUILLERMO SIABATO M.
Medicina - UPTC
chronos682@hotmail.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
Respuesta


Herramientas

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado

LinkBacks (?)
LinkBack to this Thread: http://www.foro.vb-mundo.com/f24/ejecutar-programa-administrador-4290/
Escrito Por For Type Fecha
Visual Basic 6.00 - VB-MUNDO - Programacion Visual This thread Refback 28-03-2012 17:14:19

Temas Similares
Tema Autor Foro Respuestas Último Mensaje
ejecutar programa y ocultarlo arodriguezp Visual Basic 6.00 1 17-11-2007 11:01:50
Problemas al ejecutar programa mediante la red cuajoa Visual Basic .NET 1 21-06-2007 09:51:18
como capturar la contraseña de Administrador de W2003 Server imported_chiaravel Sistemas Operativos (viejo Subforo) 4 10-05-2007 18:44:40
Ejecutar Programa AlejandroFR Visual Basic 6.00 6 02-12-2006 05:51:14
Ejecutar un programa Externo Javier_J2005 Visual Basic 6.00 2 15-11-2005 12:50:42


La franja horaria es GMT. Ahora son las 08:29:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios


right
Inactive Reminders By Icora Web Design