Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 04-04-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Mis dos céntimos, como suele decirse:

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

La idea principal es que la función retorne "false" en lugar de "true" si no consigue cargar la librería o al cabo no consigue obtener un puntero a la función que nos interesa de la librería. También, como puede verse, liberamos en la propia función la librería que previamente cargamos. Y, como también puede verse, todo queda reducido a una función, sin necesidad de variables globales.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 04-04-2007 a las 23:52:49.
Responder Con Cita
 



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
Atributos del QRRichText rafita Impresión 4 13-04-2009 19:37:11
Atributos css Io HTML, Javascript y otros 3 13-02-2007 18:14:35
atributos diniremix API de Windows 4 21-05-2006 01:48:26
Cambiar atributos de archivos Gabriel2 Varios 2 21-11-2005 17:28:59
Atributos RichEdit jefamo Varios 2 08-07-2003 14:38:58


La franja horaria es GMT +2. Ahora son las 23:53:51.


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