FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Api CreateProcessAsUser
hola colegas del club, ante todo mis especiales saludos y un tremendo FELICIDADES por este nuevo año, y para iniciar con mis preguntaderas quisera saber si alguien me puede decir como trabajar con la API CreateProcessAsUser, si pueden y no es mucha molestia, me pueden mostrar algun ejemplito???
gracias antemano salu2!!! |
#2
|
||||
|
||||
Espero que te sea de utilidad:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
hmmmmmmm!!!
no se si es problema de no entender los parámetros pero no me funciona,
mira el ejemplo dellamada que tomé: RunAs('C:\WINDOWS\regedit.exe','Alberto',nil, 'nra885'); que crees??? gracias de antemano |
#4
|
||||
|
||||
¿Te produce algún error?.. ¿No hace nada?... ¿Que windows utilizas?...
Ese código yo lo utilizo en una aplicación mía, pero esta plagado de compilación condicional, así que lo limpié un poco.
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
|||
|
|||
Yo eso lo usé hace algún tiempo (no tengo el código aquí), pero recuerdo que además el usuario debía tener dos permisos especiales (uno era asignar memoria para otro usuario y el otro no recuerdo), no se si irán por ahí los tiros
A ver si tengo un poco de tiempo y busco el código Un saludo |
#6
|
||||
|
||||
Bueno si.. es importante que el usuario tenga los permisos suficientes inlcusive los del file system. Por el ejemplo que da aeff no creo que venga por ahí el problema, pero no esta de mas aclararlo.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#7
|
||||
|
||||
bueeeno
mira, en una de las líneas tu pones esto "RaiseLastOsError;", es ahí donde único me presenta errores, lo pongo en comentarios "//" y continuo con la ejecución del programa, y cuando hago la llamada a la función RunAS, no sucede nada, uso Windows XP
saludos!!! |
#8
|
||||
|
||||
Te presenta errores de compilación o errores en ejecución???...
Si es errores en ejecución, para eso esta esa línea y si sería buenísimo que nos digas que error. Si no compila, porque no encuentra esa función, posiblemente tienes una versión de Delphi antigua, cambia esa función por RaiseLastWin32Error. Si quieres una mano, sería bueno un poco mas de empeño en tus respuestas!!!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#9
|
|||
|
|||
Al fin encontré el código. Te aseguro que funcionaba, pero usaba la función CreateProcAsUserEx de JEDI, de la forma
y los permisos que debe tener el usuario son: Herramientas administrativas->Directiva de seguridad local->Directivas locales->Asignacion de derechos de usuarios - Ajustar cuotas de memoria para un proceso y - Reemplazar un testigo a nivel de proceso Ten en cuenta que el segundo permiso no viene por defecto ni al administrador (por lo menos en mi instalación), así que habrá que ponerlos para cada usuario. Espero que te sirva de algo Un saludo |
#10
|
|||
|
|||
Espero q te sirva
hola:
Las funciones CreateProcessAsUser y CreateProcessAsUserEx sin dudas funcionan pero requieren una serie de privilegios q las hacen algo inconvenientes en algunos casos(por no decir la mayoria de los casos).... Te recomiendo q uses CreateProcessWithLogon la cual se encuentra en una dll del sistema a partir de Win 2000, con la cual no es necesario q el usuario tenga ningun pivilegio fuera de los q tiene por defecto, aki un corto segmento de codigo: Código:
function CreateProcessWithLogon; external advapi32 name 'CreateProcessWithLogonW'; info_ini.cb := SizeOf(TStartupInfo); CreateProcessWithLogon( 'user@domain', '', 'pass', 1, //cargar o no el profile del usuario 'iexplore.exe', nil, CREATE_DEFAULT_ERROR_MODE, nil, nil, info_ini, //de tipo Tstartupinfo process_info)// de tipo PROCESS_INFORMATION Por cierto soy nuevo aki en el Club espero poder ayudar en algo y lo mas importante aprender mucho.... Saludos SOAD |
|
|
|