![]() |
Ejecutar un programa dependiendo del usuario de Win
:cool: Como estan estos programadores, necesito de su ayuda, espero me puedan colaborar en algo como hago para ejecutar un programa al momento de iniciar sesion dependiendo del usuario de Windows, ya se como iniciar un programa al momento de inicir sesion en Windows pero lo que necesito es que no en todas las sesiones de windows se ejecute el programa sino solamente cuando un determinado usuario inicie sesion, Administro una red con Windows 2000 Advanced Server y terminales con W2000 professional y algunas con W98SE, estube rebisando un poco los usuarios registrados en el servidor pero no encontre nada no se donde tengo que hacer algo para al momento de que ese usuario inicie sesion en una terminal se ejecute un determinado programa...espero me entiendan la pregunta un saludo y hasta luego Gelmin Martinez (Nicaragua)
|
para discriminar que usuario está registrado en la máquina, podes valerte de la función GetUserName, de la que ya se ha hablado antes en los foros. (ej: http://www.clubdelphi.com/foros/show...ht=getusername)
Si no es el usuario para el que debes ejecutar tu programa, simplemente hace un close del form principal. Hasta luego. ;) |
Tendrías que guardarlo en HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run*... la clave HKEY_CURRENT_USER se carga de un user.dat distinto para cada usuario si utilizas perfiles de usuarios
Saludos! |
No es mala idea...lo del GetUserName!
:rolleyes: Pues es una buena opción lo que dijo jachguate, vere si me sirve la idea....!
Delphi.com.ar creo que no entendi muy bien lo del usuario, se que el programa tengo que indicarlo en HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run*... pero lo del usuario en la clave HKEY_CURRENT_USER no lo entendi, hablas de perfiles de usuarios pues yo en el servidor cree un usuario de prueba y le busque algo parecido a eso que tu dices pero no tube exito por ahi sale algo sobre ejecutar programa pero no se como es el rollo. un saludo y Gracias por su tiempo...! Gelmin Martinez(Nicaragua) |
Fui demasiado explícito, la historia es así: El registro de Windows, es la famosa "Base de Datos" donde se guardan todas las configuraciones del sistema, esta dividido en dos grupos, los registros del sistema y los registros de usuario. Los registros del sistema son los datos que pertenecen al sistema y todos los usuarios logueados en esa terminal pueden leerlos, los registros de usuario, si utilizas perfiles de usuario, se guardan en archivos diferentes para cada profile, entonces contiene personalizaciones diferentes, mismo esta “personalización” puede establecerse desde el servidor, y quedar guardada en el mismo para que cuando un usuario cambie de estación de trabajo, conserve su configuración de las herramientas. Para activar los perfiles de usuarios desde la estación, tienes que ir a Panel de Control \ Contraseñas \ Perfiles de Usuario, para hacerlo desde el servidor, es desde el User Manager, pero no recuerdo los pasos.
PD: jachguate, te me has adelantado en dos mensajes al mismo tiempo!!! :D (cuando lo escribí el tuyo no estaba) Saludos! |
Cita:
|
Active Directory de w2000 Advanced Server
Busque en "Usuarios y equipos de Active Directory" del w2000 Advanced Server lo de los perfiles de los usuarios para ver si encontraba algo sobre lo de ejecutar un programa cuando este usuario iniciara sesión en cualquier terminal. Seleccione un usuario me fui a sus propiedades y en la pestaña "Entorno" encontre algo que dice:
use esta ficha para configurar el entorno de inicio de servicios de terminal server. Esta configuración suplantara la especificada para cliente. Iniciando programas: Iniciar el programa siguiente al iniciar la sesion (Boton de Opcion) Iniciar en:_______________________________ Nombre del Archivo de programas:________________________ pero no se si eso me servira, ahora no se que es lo que tengo que indicar en esos dos cajas de edicion, me parecia que era algo asi como inicar en:PC20 y en nombre del archivo de programas: //PC20//C:/Miapp/app.exe pero ya probe algo asi y me fui a la terminal que tiene el app.exe a iniciar sesion con la cuenta de ese usuario y no sucedio nada, no se si esto no sirve para eso o talves estoy haciendo algo mal...un saludo Gelmin Martinez(Nicaragua) |
Cita:
Saludos! |
Este asunto esta bastante complicado...!
El usuario que quiero configurar pertenece a un dominio de la red me parece a mi que si quiero configurarle algo tengo que hacerlo desde el servidor donde se encuentran todos los usuarios del dominio que estan en Active Directory si quisiera hacerlo desde la terminal, en panel de control/constraseñas/opciones Avanzadas solo me aparecen los usuarios locales de la terminal porque tengo en las terminales w2000pro y yo quiero configurar un usuario que sera global osea pertenece a un dominio, creo que no lo puedo configurar desde cada una de las terminales o si?...veo que esto esta bastante complicado jejeje....un saludo Gelmin Martinez(Nicaragua) :)
|
A ver si te entiendo Gelmin.
Tu lo que quieres es que cuando un determinado usuario entre en el dominio desde cualquier equipo de la red se le ejecute o no un programa dependiendo de que usuario sea. ¿Correcto? Porque si cada usuario solo se conecta desde su equipo eso seria mas facil que aprender a tocar las maracas :D |
Suponiendo que me respondes afirmativamente a la pregunta anterior y un usuario no tiene ordenador fijo sino que puede entrar desde cualquiera lo que te propongo hacer es crear un programita siguiendo lo propuesto por jachguate.
Desde delphi has de crear una nueva aplicacion. Lo mejor es crearla del tipo Console Application . Una vez hecho esto sustituye todo el codigo por este: Código:
program Usuarios; Este programa lo colocas en la carpeta inicio para todos los usuarios del equipo. Cita:
Espero haberte ayudado. |
Correcto men asi es la jugada...!
Gracias por tu tiempo Voutarks, correcto...! exactamente lo que dijistes en tu primer mensaje es lo que yo necesito, es que yo pense que habia una forma de especificar a los usuarios de win Server que programa se ejecutaría en el momento de iniciar sesion en cualquier equipo, lo que estas diciendo es una buena idea, en los comentarios anteriores tambien me sugirieron algo asi, que obtubiera el usuario de Win y si no era el que me intereza pues que cerrara el form principal de mi programita, gracias por darme ideas de como puedo resolver eso, voy a resolverlo de esa manera....ahora ya tengo idea de como hacerlo....! un saludo y gracias a todos... Gelmin Martinez (Nicaragua)
|
Y para impedir que un usuario puede ejecutar un programa?
|
La franja horaria es GMT +2. Ahora son las 04:06:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi