Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2004
Avatar de Gelmin
Gelmin Gelmin is offline
Miembro
 
Registrado: may 2003
Ubicación: Chinandega-Nicaragua
Posts: 56
Poder: 21
Gelmin Va por buen camino
Question Ejecutar un programa dependiendo del usuario de Win

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)
__________________
Powered by Gel
Responder Con Cita
  #2  
Antiguo 25-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
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.

Responder Con Cita
  #3  
Antiguo 25-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
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!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 25-04-2004
Avatar de Gelmin
Gelmin Gelmin is offline
Miembro
 
Registrado: may 2003
Ubicación: Chinandega-Nicaragua
Posts: 56
Poder: 21
Gelmin Va por buen camino
Lightbulb No es mala idea...lo del GetUserName!

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)
__________________
Powered by Gel
Responder Con Cita
  #5  
Antiguo 26-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
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!!! (cuando lo escribí el tuyo no estaba)

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 26-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Cita:
Empezado por delphi.com.ar
PD: jachguate, te me has adelantado en dos mensajes al mismo tiempo!!! (cuando lo escribí el tuyo no estaba)
últimamente me dicen el mas rápido del oeste...
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 27-04-2004
Avatar de Gelmin
Gelmin Gelmin is offline
Miembro
 
Registrado: may 2003
Ubicación: Chinandega-Nicaragua
Posts: 56
Poder: 21
Gelmin Va por buen camino
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)
__________________
Powered by Gel
Responder Con Cita
  #8  
Antiguo 27-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por Gelmin
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.
No me has entendido, ahí no encotrarás una opción como "Ejecutar aplicaciones por Usuario", lo que lograrás es definir que cada usuario utilize un archivo de configuración diferente, y luego tendrías que setear en estos archivos de configuración (con el regedit), que ejecutarás al iniciar.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #9  
Antiguo 27-04-2004
Avatar de Gelmin
Gelmin Gelmin is offline
Miembro
 
Registrado: may 2003
Ubicación: Chinandega-Nicaragua
Posts: 56
Poder: 21
Gelmin Va por buen camino
Question 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)
__________________
Powered by Gel
Responder Con Cita
  #10  
Antiguo 30-04-2004
Avatar de Voutarks
Voutarks Voutarks is offline
Miembro
 
Registrado: jul 2003
Ubicación: Islas Canarias
Posts: 118
Poder: 21
Voutarks Va por buen camino
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
__________________
Emilio J. Curbelo
Responder Con Cita
  #11  
Antiguo 30-04-2004
Avatar de Voutarks
Voutarks Voutarks is offline
Miembro
 
Registrado: jul 2003
Ubicación: Islas Canarias
Posts: 118
Poder: 21
Voutarks Va por buen camino
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;

uses
  Windows, SysUtils, types;

function GetLoginName: string;
var
  buffer: array[0..255] of char;
  size: dword;
begin
  size := 256;
  if GetUserName(buffer, size) then
    Result := buffer
  else
    Result := ''
end;

var nombre: string;

begin
  nombre := GetLoginName;
  if nombre = 'pepe' then
    WinExec(PChar('c:\windows\notepad.exe'),SW_SHOWNORMAL);
end.
Como ves lo que hace el programita este es que si el usuario que ha iniciado sesion en la maquina se llama 'pepe' entonces iniciara el block de notas, en esta caso. Tu puedes poner la condicion que quieras para tus usuarios y poner la ruta correcta hacia la aplicacion en cuestion, que lo mas normal es que se encuentre en la misma ubicación en todos los ordenadores.

Este programa lo colocas en la carpeta inicio para todos los usuarios del equipo.

Cita:
Empezado por Gelmin
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.
Esto es otra cosa: se trata del terminal server de microsoft. Sirve para abir sesiones graficas remotas, para autenticarse y ejecutar aplicaciones en el servidor, mostrandose sólo el resultado de la pantalla en el cliente,como los servidores y clientes X de los UNIX. Para utilizar esto hay que contratar licencias a microsoft, las cuales no salen nada baratas precisamente. Así que no tiene que ver con lo que estamos tratando.

Espero haberte ayudado.
__________________
Emilio J. Curbelo
Responder Con Cita
  #12  
Antiguo 30-04-2004
Avatar de Gelmin
Gelmin Gelmin is offline
Miembro
 
Registrado: may 2003
Ubicación: Chinandega-Nicaragua
Posts: 56
Poder: 21
Gelmin Va por buen camino
Thumbs up 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)
__________________
Powered by Gel
Responder Con Cita
  #13  
Antiguo 05-04-2005
davezf davezf is offline
Miembro
 
Registrado: dic 2004
Posts: 59
Poder: 20
davezf Va por buen camino
Y para impedir que un usuario puede ejecutar un programa?
__________________
Dave
Responder Con Cita
Respuesta



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
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:26:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi