Club Delphi  
    Paypal   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

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 10-12-2010
FENIXadr FENIXadr is offline
Miembro
 
Registrado: may 2010
Ubicación: Córdoba - Cba. - Argentina
Posts: 104
Poder: 17
FENIXadr Va por buen camino
Hay otra manera de conocer las carpetas de windows sabiendo su respectiva constante :

CSIDL_DESKTOP for WINDOWS\Desktop
CSIDL_DESKTOPDIRECTORY for WINDOWS\Desktop
CSIDL_FONTS for WINDOWS\FONTS
etc...
etc...

Que al fin y al cabo son del tipo Integer, sabiendo esto, el paso a seguir obvio era hacer un loop cambiendo este entero sin importar como lo llamaron desde mocosoft...

Lo único que necesitamos es un Form con un TMemo y el siguiente código...

Código Delphi [-]

uses shlobj, ActiveX;

function GetSystemPath(Folder: Integer): string;
var
  PIDL: PItemIDList;
  Path: LPSTR;
  AMalloc: IMalloc;
begin
  Path := StrAlloc(MAX_PATH);
  SHGetSpecialFolderLocation(Application.Handle, Folder, PIDL);
  if SHGetPathFromIDList(PIDL, Path) then
    Result := Path
  else
    Result := '';
  SHGetMalloc(AMalloc);
  AMalloc.Free(PIDL);
  StrDispose(Path);
end;



procedure TForm1.FormCreate(Sender: TObject);
var a : Integer;
begin
  Memo1.Clear;
  for a := 0 to 59 do
    Memo1.Lines.Add(IntToStr (a) + #9 + GetSystemPath(a))
end;

y listo... descartamos los valores repetidos y le ponemos el nombre que queremos a las constantes que nos interesan...

espero que esto les sea de utilidad, si se puede comenten...

Última edición por FENIXadr fecha: 10-12-2010 a las 17:29:22. Razón: mejora en el codigo
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
Como saber si una carpeta existe en servidor chrids506 Internet 1 25-02-2008 16:49:16
¿Cómo saber la ubicación del ejecutable que levantó un proceso? Alcolea Windows 1 24-11-2007 22:58:43
Ubicación deshacer de windows PedroElFlaky Windows 4 29-09-2007 18:20:14
"Saber usuario que movio carpeta en windows" JELIRM Redes 0 28-06-2005 22:30:44
Como saber el tipo de acceso a una carpeta Javi2 Varios 3 22-07-2004 11:56:44


La franja horaria es GMT +2. Ahora son las 23:35:21.


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