Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-11-2004
Rolando Glez Rolando Glez is offline
Miembro
 
Registrado: nov 2004
Ubicación: Havana
Posts: 62
Poder: 20
Rolando Glez Va por buen camino
Conocer si un usuario determinado tiene derecho de escritura en registro de Window

Hola, Tengo un problema el caso es que me hace falta una funsion que me
cheque si el loguin de un usuario determinado es miembro del grupo de administradores (full control access) o tener derecho de acceso sobre todo el sistema (maquina local) ya que he hecho una aplicación que una de sus opciones permite modificar el fichero de configuración IDAPI32.CFG,pero resulta que cuando un usuario no tiene derecho de escritura sobre el registro de window o sobre el fichero Idapi32.cfg el programa se me cuelga ya que el usuario no tiene derecho de escritura sobre este registro,ni sobre el fichero "IDAPI32.CFG", Necesito esta funsion para informar al usuario de mi aplicación que no tiene derecho de administración para que el programa no se me cuelgue, esto sucede tambien si corro el BDEadmin.exe habiendome logueado con una cuenta que no tiene derecho de escritura sobre el registro de Window, esto es logico que suceda.
El sistema operativo es window 2000 o Window XP (ambiente de red)

Necesito cualquier ayuda al respecto.


Saludos
Responder Con Cita
  #2  
Antiguo 21-12-2004
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola, para saber si un usuario puede escribir en el registro de windows,
prueba a escribir una clave en el registro y si salta una excepción, la capturas.

Por ejemplo:
Código Delphi [-]
procedure Comprobar_Acceso_Registro_Windows;
var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    try
      if Reg.OpenKey('\Software\Microsoft\Windows\PruebaEscritura', True) 
      then begin
        // No hay problema, el usuario puede escribir
        Reg.CloseKey;
      end;
    except
      // Ooops, el usuario no puede escribir...
    end;
  finally
    Reg.Free;
  end;
end;

Salu2.
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #3  
Antiguo 26-12-2004
barrauda barrauda is offline
Miembro
 
Registrado: jun 2003
Ubicación: Balcarce - Buenos Aires
Posts: 42
Poder: 0
barrauda Va por buen camino
ando con un problema similar

Hola, necesito saber si pudiste resolver este problema que planteas ya que ando en algo parecido.
El programa que hice corre en un laboratorio con maquinas que tienen XP, en una cuenta de usuarios de XP que no es administrador, ahora con mi programa quiero hacer que se deshabilite el Ctrl+Alt+Del (lo cual hay que hacerlo por medio del registro) pero no funciona porque dicho usuario no posee privilegios para modificar el Registro de Windows, ahora si hay alguna forma de lograr que se pueda modificar el registro siendo un usuario "común" me encantaría saber como.
Cuando utilizo el usuario "Administrador" el programa funciona de maravillas, se desactiva el Administrador de Tareas tal cual yo quiero que se haga.
Muchas gracias si sabés como hacerlo
Responder Con Cita
  #4  
Antiguo 29-12-2004
barrauda barrauda is offline
Miembro
 
Registrado: jun 2003
Ubicación: Balcarce - Buenos Aires
Posts: 42
Poder: 0
barrauda Va por buen camino
Ya está solucinado el Asunto

gracias al Usuario Chicolita pude resolver el problema que comenté anteriormente que era poder modificar el registro (por medio de código en Delphi) aún no siendo Administrador sino un usuario común.
La cuestión pasa por darle privilegios al usuario en cuestión. Ahora si queremos, por ejemplo, permitir que el usuario "pepe" pueda modificar la clave HKEY_CURRENT_USER, debemos entrar como administrador a la máquina, ejecutar el Regedit, posicionarnos sobre dicha clave, ir a Edición/Permisos y agregar el usuario pepe a la lista de usuarios, por supuesto darle todos los privilegios.
Hecho esto entramos a la maquina con el nombre de usuario pepe y ya podemos modificar o borrar sólamente esta clave y subclaves que contenga.
Cabe mensionar que esto funciona para XP. Para 2000 no se como se hace.
Espero que a alguien le sirva este mensaje
Responder Con Cita
  #5  
Antiguo 30-12-2004
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 21
madman Va por buen camino
http://www.clubdelphi.com/foros/show...8&postcount=19

Hay que buscar primero
Saludetes!
__________________
Guía de Estilo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 23:48:10.


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