Oppure

Loading
08/03/09 8:53
swet
ciao a tutti vorrei sviluppare un programma che parta all' avvio di windows e intercetti l' apertura di una cartella specifica. Se la cartella viene cliccata per essere aperta il programma che gira in background chiede la password. Sapete come posso interecettare l' apertura della cartella? grazie
aaa
08/03/09 9:00
Il Totem
Devi usare un FileSystemWatcher. Questo controllo serve per monitorare file e cartelle e ti dice quando vengono aperti, letti, modificati, spostati, rinominati, eccetera... Non sempre funziona (chissà perchè;). Se funziona, dopo aver richiesto la password e se questa è sbagliata, dovresti chiudere la finestra dell'explorer, ma stai attento a non terminare il processo perchè distruggeresti tutta l'interfaccia del sistema operativo.
aaa
08/03/09 9:59
swet
grazie per la tua disponibilità! Le sai tutte le funzioni!!! Adesso provo e poi ti faccio sapere!

EDIT:

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim fswfolder As New IO.FileSystemWatcher("C:\Prova")
        fswfolder.NotifyFilter = IO.NotifyFilters.LastAccess
    End Sub
    Private Sub fswfolder_opened(ByVal sender As Object, ByVal e As IO.FileSystemEventArgs) Handles fswfolder.Changed
        MsgBox("aperta")
    End Sub


ho provato così ma quando carica il form non succede nulla se apro la cartella, dove sbaglio?
Ultima modifica effettuata da swet 08/03/09 10:37
aaa
09/03/09 18:08
Il Totem
Ne abbiamo discusso su messenger. Il controllo molto spesso fa le bizze, e rimane un mistero...
aaa
09/03/09 19:37
Jeremy
Postato originariamente da Il Totem:

Ne abbiamo discusso su messenger. Il controllo molto spesso fa le bizze, e rimane un mistero...


Scusate l'intromissione, ma non mi risulta che il FileSystemWatcher faccia le bizze, piuttosto direi che non è in grado di rilevare l'evento "Apertura cartella".... ma piuttosto gli eventi di Rinomina,Aggiunta,Eliminazione,Modifica.
Questo per quanto riguarda la mia eseprienza con questo oggetto.

Ciao.

aaa
10/03/09 14:16
Il Totem
A me risulta che LastAccess (ultimo accesso) venga modificato ad ogni apertura (ossia accesso) alla cartella. Quindi, se l'evento non viene generato quando chiaramente la cartella è stata aperta, c'è qualcosa che non va.
aaa
14/03/09 16:33
scusate , qual'è il codice da inserire nel filesystemwatcher ??
15/03/09 16:29
Il Totem
Dato che si tratta di un controllo già esistente, non puoi inserire nessun codice dentro di esso. E non serve nemmeno del codice per attivarlo. Si fa tutto tramite designer e finestra delle proprietà. L'evento da usare è Changed.
aaa