44 Votos

Delphi: Mostrar Directorio en Explorador de Windows

Pregunta de Invitado | 27/07/2022 a las 15:33

Ya he leído la pregunta sobre cómo abrir un ruta, carpeta o directorio, específico en el Explorador de Windows con Lazarus. Sin embargo, cuando se usa Delphi, no hay ninguna función llamada OpenDocument que se use allí.

¿Alguien tiene alguna solución que también esté funcionando en Delphi? Me gustaría usar Lazarus para este propósito, pero en nuestra escuela, nos vemos obligados a implementarlo en Delphi.

ResponderPositivoNegativo
2Mejor Respuesta2 Votos

En Delphi, puede usar la función ShellExecute para este propósito. Aunque esta función no solo tiene uno parámetro tal como OpenDocument, sino que elle también puede abrir el Explorer:

ShellExecute(Application.Handle, nil, 
'C:\Carpeta\Carpeta', nil, nil, SW_SHOWNORMAL);

O:

ShellExecute(Application.Handle, 'explore', 
'C:\Carpeta\Carpeta', nil, nil, SW_SHOWNORMAL); 

En el primer ejemplo, establecemos el segundo parámetro en "nil" haciendo Windows para seleccionar el programa predeterminado para las rutas de archivos. En el segundo caso, pasamos "explore" para usar el Explorador de Windows en cada caso para abrir el directorio pasado (un usuario también puede haber establecido otra aplicación predeterminada para directorios en su sistema).

Y aquí hay otro ejemplo con el uso de una variable:

APath := 'C:\Carpeta\Carpeta';

ShellExecute(Application.Handle, nil, 
PChar(APath), nil, nil, SW_SHOWNORMAL);

Importante: La unit ShellApi debe incluirse.
27/07/2022 a las 19:56

ResponderPositivo Negativo
Responder

Temas Relacionados

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.