View Full Version : [C++] Aprire una dir...
TonyManero
03-02-2004, 10:26
Ciao a tutti,
Mi scuso innanzitutto per la mia sconfinata ignoranza e per la mia sanguisugolenta attitudine a farmi risolvere i problemi da questo forum (e da ilsensine in particolare :D).
Che comando devo dare in C++ per aprire una finestra contenente i file di una directory?
Cioè, in pratica, volgio il comando che mi realizza l'equivalente del doppio click su una data cartella. Con relativa apertura della cartella in formato finestra.
Grazie. :D
ti pare facile ti pare...
se poi non dici neanche che librerie grafiche usi (MFC ad esempio) e come è strutturato il programma diventa impossibile risponderti
ilsensine
03-02-2004, 12:51
Forse un banalissimo system("explorer.exe <cartella>") ti è sufficiente?
TonyManero
03-02-2004, 13:24
Sorry... :(
Allora: lavoro su Borland C++ Builder 4.
Vorrei un comando che se lanciato apra una finestra che mostri il contenuto di una data cartella (fissa). In tutto e per tutto questa linea di comando deve fasr accadere quello che accade quando faccio il doppio click su una cartella di win, cioè aprirsi un altra finestra che mostra tutte le cartelle e i file che contiene.
E' possibile? :confused:
TonyManero
03-02-2004, 13:46
Originariamente inviato da ilsensine
Forse un banalissimo system("explorer.exe <cartella>") ti è sufficiente?
Sei il mio idolo!
Come dici tu funziona!!
Unica pecca è che per un mezzo secondo si vede il megafinestrone nero del DOS... ma funziona.
C'è mica un metodo più pulito?? O un modo per rendere "nascosta" la finestra DOS?? :)
ilsensine
03-02-2004, 14:02
mmm...
Prova system("start explorer.exe <cartella>")
TonyManero
03-02-2004, 14:17
No... per poco ma si vede...
Forse dicendo mezzo secondo ho esagerato... però per qualche decimo si vede. Ed essendo un bel rettangolone nero si nota parecchio. Diciamo che si capisce che avviene qualcosa che non và...
ilsensine
03-02-2004, 14:41
Allora devi usare la API CreateProcess. E' documentata in win32.hlp, se non ricordo male.
Queste cose in genere si fanno con le shell Api:
#include <shellapi.h>
na cosa +o- così:
ShellExecute(Application->Handle, "explore", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
"explore" è il comando di shell
al posto di path_to_folder metti la stringa-percorso della cartella.
Sinceramente non mi ricordo se lo devi accoppiare alla CreateProcess.Forse no se non devi aspettare che finisca qualcosa(ad esempio un eseguibile).Nel tuo caso lo devi solo lanciare no?
Guarda la guida alle API win32
TonyManero
03-02-2004, 16:05
Bingo! ;)
Venivo giusto ora a postare per avvertire che sbirciando tra le righe di codice sul PC di un mio ex-collega ho trovato proprio che per 'ste cose usava la ShellExecute!!
Grazie a tutti!
Alla prossima!!! :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.