Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Requerir privilegios administrativos

Hola de nuevo. Bueno, mi consulta es la siguiente:
He encapsulado una ventana en una DLL, la cual se encarga de recoger algunos datos del usuario - más que todo la ubicación de la base de datos o servidor firebird- pero resulta que para guarlar esa configuración la dll necesita privilegios administrativos en windows para escribir por ejemplo en C:\archivos de programa\mi_appli...

¿Cómo hago para que cuando inicie o antes de mostrar el dialogo, mi aplicación requiera privilegios administrativos o bien en vista que los eleve?

También, me interaría saber la forma de detectar si el usuario actual tiene privilegios administrativos.

Gracias. Saludos.- Chris.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #2  
Antiguo 05-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Para esto último sí que existe una función "IsUserAnAdmin", pero, sobre la que no encuentro documentación en MSDN, y que parece no estar declarada en Delphi. Sin embargo, puede usarse más o menos así:

Código Delphi [-]
function IsUserAnAdmin(): boolean;
const
  SHELL32 = 'shell32.dll';
  PROCNAME = 'IsUserAnAdmin';
var
  hDll: HMODULE;
  func: function(): bool; stdcall;
begin
  result := false;
  hDll := LoadLibrary(PChar(SHELL32));
  if (hDll <> 0) then begin
    try
      func := GetProcAddress(hDll, PChar(PROCNAME));
      if Assigned(func) then
        result := func();
    finally
      FreeLibrary(hDll);
    end;
  end;
end;

Al menos en Windows XP SP2 funciona bien.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 05-12-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
gracias dec, voy a probrala.

En caso de que no encuentre una solución al primer problema, lo que voy a hacer es advertir al usuario que tiene que tener privilegios administrativos.

PD: http://msdn2.microsoft.com/en-us/library/bb776463.aspx
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web

Última edición por Chris fecha: 05-12-2007 a las 17:16:54.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Menu y privilegios de usuarios santiago14 Varios 2 27-08-2006 16:57:53
Dar privilegios de Administrador a la Aplicación PoZi API de Windows 16 26-04-2006 20:17:52
Privilegios en interbase acrophet Conexión con bases de datos 1 09-02-2004 15:07:35


La franja horaria es GMT +2. Ahora son las 15:35:14.


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