Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - confrontare cartella aperta dall'utente cn un path
Forum - C# / VB.NET - confrontare cartella aperta dall'utente cn un path

Avatar
superchecco (Normal User)
Pro


Messaggi: 141
Iscritto: 20/01/2007

Segnala al moderatore
Postato alle 17:02
Mercoledì, 11/07/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

PM Quote
Avatar
superchecco (Normal User)
Pro


Messaggi: 141
Iscritto: 20/01/2007

Segnala al moderatore
Postato alle 17:04
Mercoledì, 11/07/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?8-)

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:32
Giovedì, 12/07/2007
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.

PM Quote
Avatar
superchecco (Normal User)
Pro


Messaggi: 141
Iscritto: 20/01/2007

Segnala al moderatore
Postato alle 10:05
Giovedì, 12/07/2007
Testo quotato

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???:-|

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:39
Giovedì, 12/07/2007
Ad esempio:
Codice sorgente - presumibilmente VB.NET

  1. Public WithEvents fswFolder As New IO.FileSystemWatcher("Cartella")
  2. '...
  3. fswFolder.EnableRaisingEvents = True
  4. fswFolder.IncludeSubdirectories = False
  5. fswFolder.NotifyFilter = IO.NotifyFilters.LastAccess
  6. '...
  7. Private Sub fswFolder_Opened(ByVal sender As Object, ByVal e As IO.FileSystemEventArgs) Handles fswFolder.Changed
  8.         'Codice
  9. 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 :-|

PM Quote
Avatar
superchecco (Normal User)
Pro


Messaggi: 141
Iscritto: 20/01/2007

Segnala al moderatore
Postato alle 16:07
Giovedì, 12/07/2007
Testo quotato

Postato originariamente da Il Totem:

Ad esempio:
Codice sorgente - presumibilmente VB.NET

  1. Public WithEvents fswFolder As New IO.FileSystemWatcher("Cartella")
  2. '...
  3. fswFolder.EnableRaisingEvents = True
  4. fswFolder.IncludeSubdirectories = False
  5. fswFolder.NotifyFilter = IO.NotifyFilters.LastAccess
  6. '...
  7. Private Sub fswFolder_Opened(ByVal sender As Object, ByVal e As IO.FileSystemEventArgs) Handles fswFolder.Changed
  8.         'Codice
  9. 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 :-|





grazie mille...ma come non funziona????:-|:-|:-|:-|:-|:-|


qualcuno sa come chiudere una finestra di explorer????:-|:-|:-|

grazie a tutti

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 19:14
Giovedì, 12/07/2007
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.

PM Quote