FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Propiedades de archivos
Hola a todos, bueno mi pregunta no sé si sea simple pero espero que me puedan ayudar como ya lo han hecho en otras ocasiones, quisiera saber cómo puedo obtener la información de un archivo cualquiera, teniendo ya su ruta, Para llenar un formulario que será parecido al dialogo de propiedades de Windows.
Pues como información estoy trabajando en c++ builder 2007, pero si alguien tiene código delphi para este fin no importa, ya que al menos servirá para orientarme, de antemano gracias. |
#2
|
||||
|
||||
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Muchas gracias por la respuesta Neftali, pues en realidad son 3 datos los que necesito, y serian la fecha decreacion, fecha de modificacion y encaso de ser un lnk el destino de este.
|
#4
|
|||
|
|||
!!
Mientras googleaba logre encontrar la función "FindFirstFileA" que al menos me devuelve los tiempos que necesito entre otras cosas, pero sigo sin lograr obtener el destino de un acceso directo.
Les dejo el código por si sirve de algo. Código:
WIN32_FIND_DATA WFDD; _SYSTEMTIME SYST; _FILETIME FTII; TDateTime FECC; FindFirstFileA("C:\\Escritorio.lnk",&WFDD); FTII=WFDD.ftCreationTime; FileTimeToSystemTime(&FTII,&SYST); FECC=IncHour(SystemTimeToDateTime(SYST),-6); ShowMessage(FECC.DateTimeString()); |
#5
|
|||
|
|||
Pff, ya esta, les dejo esta función que te devuelve el destino de un lnk (con algunas modificaciones te puede crear los accesos directos).
Código:
AnsiString __fastcall TForm1::ResolveLink(AnsiString& LinkFile) { /**/ IShellLink* pShellLink=NULL; AnsiString URL(""); HRESULT HR = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pShellLink); if (SUCCEEDED(HR)) { IPersistFile* pPersistFile=NULL; HR=pShellLink->QueryInterface(IID_IPersistFile, (void**)&pPersistFile); if (SUCCEEDED(HR)) { wchar_t WSZ[MAX_PATH]; MultiByteToWideChar(CP_ACP, 0, LinkFile.c_str(), -1, WSZ, MAX_PATH); HR=pPersistFile->Load(WSZ, STGM_READ); if (SUCCEEDED(HR)) { WIN32_FIND_DATA WFDD; HR=pShellLink->Resolve(Application->Handle, SLR_NO_UI); if (NOERROR==HR) { char STR[MAX_PATH]; pShellLink->GetPath(STR, MAX_PATH,&WFDD, SLGP_UNCPRIORITY); URL=STR; } } pPersistFile->Release(); } pShellLink->Release(); } return URL; } |
#6
|
||||
|
||||
Para las fechas, aparte de lo dicho, puedes ver el truco que hay en mi página, en la seción detrucos, titulado: "Obtener las fechas de un fichero (creación, modificación y último acceso)".
En cuanto al lnk, creo que ya se ha hablado en los foros. Échale un vistazo a la búsqueda.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Acceder al resumen de las propiedades de archivos | turminator | API de Windows | 1 | 07-03-2008 18:12:02 |
leer las propiedades de los archivos | lookmydoom | OOP | 1 | 02-06-2007 08:29:33 |
Acceso a las propiedades de un objeto desde el editor de propiedades | Hugo | OOP | 0 | 24-11-2006 12:58:22 |
Propiedades de archivos | pborges36 | API de Windows | 1 | 14-10-2004 16:54:26 |
propiedades de archivos | TheBearWhite | Varios | 0 | 16-06-2004 18:00:18 |
|