superchecco (Normal User)
Pro
Messaggi: 141
Iscritto: 20/01/2007
|
Salve a tutti, la mia questione che vi pongo è questa:
mettiamo che l'utente inserisca il percorso completo di una cartella, e questo venga salvato in un file.
Dopodichè (si scrive cosi?) il programma è sempre in funzione nella trackbar e io ho bisogno di sapere, grazie all'evento tick di un timer, quando l'utente apre proprio quella cartella di cui aveva specificato il percorso...
non so se sono stato abbastanza chiaro, in pratica vorrei sapere come fare a confrontare un percorso aperto dall'utente e una stringa (contenente il percorso che avevo salvato).
grazie mille in anticipo
|
|
superchecco (Normal User)
Pro
Messaggi: 141
Iscritto: 20/01/2007
|
vi spiego a cosa mi serve tutto questo cosi magari riuscite ad aiutarmi.
vorrei che l'utente specificasse quale password attribuire all'apertura di una certa cartella, e nel caso in cui la password non sia corretta, non permettergli l'accesso nel percorso desiderato...
per fare questo, per adesso, ho bisgono di sapere come controllare le cartelle che apre l utente...chiaro?
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Io credo che non ti serva niente del genere. Devi usare un oggetto FileSystemWatcher, con NotifyFilter su lastAccess e Path il nome della cartella. Quando il FileSystemWatcher lancerà l'evento Change vorrà dire che l'utente ha avuto accesso a quella cartella e tu dovrai prospettare il msgbox e in caso di risposta negativa chiudere la finestra.
|
|
superchecco (Normal User)
Pro
Messaggi: 141
Iscritto: 20/01/2007
|
Postato originariamente da Il Totem:
Io credo che non ti serva niente del genere. Devi usare un oggetto FileSystemWatcher, con NotifyFilter su lastAccess e Path il nome della cartella. Quando il FileSystemWatcher lancerà l'evento Change vorrà dire che l'utente ha avuto accesso a quella cartella e tu dovrai prospettare il msgbox e in caso di risposta negativa chiudere la finestra. |
Grazie mille per l'aiuto pero posso chiederti se gentilmente mi puoi fare un esempio pratico a livello di codice?
ps. e per chiudere la sola finestra come devo fare? deve terminare tutto explorer??? |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Ad esempio:
Codice sorgente - presumibilmente VB.NET |
Public WithEvents fswFolder As New IO.FileSystemWatcher("Cartella") '... fswFolder.EnableRaisingEvents = True fswFolder.IncludeSubdirectories = False fswFolder.NotifyFilter = IO.NotifyFilters.LastAccess '... Private Sub fswFolder_Opened(ByVal sender As Object, ByVal e As IO.FileSystemEventArgs) Handles fswFolder.Changed 'Codice End Sub
|
Per distruggere la finestra puoi usare DestroyWindow della libreria user32.dll, ma devi conoscere l'handle della finestra. Ci ho provato ma non funzione
|
|
superchecco (Normal User)
Pro
Messaggi: 141
Iscritto: 20/01/2007
|
Postato originariamente da Il Totem:
Ad esempio:
Codice sorgente - presumibilmente VB.NET |
Public WithEvents fswFolder As New IO.FileSystemWatcher("Cartella") '... fswFolder.EnableRaisingEvents = True fswFolder.IncludeSubdirectories = False fswFolder.NotifyFilter = IO.NotifyFilters.LastAccess '... Private Sub fswFolder_Opened(ByVal sender As Object, ByVal e As IO.FileSystemEventArgs) Handles fswFolder.Changed 'Codice End Sub
|
Per distruggere la finestra puoi usare DestroyWindow della libreria user32.dll, ma devi conoscere l'handle della finestra. Ci ho provato ma non funzione |
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Teoricamente dovresti prendere l'handle della finestra di explorer aperta. Con la classe process puoi ottenere un handle, ma solo quello della finestra principale che... beh, non c'è in explorer.
|
|