Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [VB6] Inattività

  1. #1
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569

    [VB6] Inattività

    Ho un programma con un Timer. Se l'utente si allontana dal computer, dopo 30 secondi, il timer si dovrebbe fermare...

    Qual'è il metodo più semplice che mi consigliate?
    Una tecnologia sufficientemente avanzata è indistinguibile dalla magia. Terza legge di Clarke

  2. #2
    devi vedere se c'è movimento del mouse /pressione dei tasti della tastiera
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  3. #3
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569
    Originariamente inviato da DYNAM!C+
    devi vedere se c'è movimento del mouse /pressione dei tasti della tastiera
    E come faccio?
    Una tecnologia sufficientemente avanzata è indistinguibile dalla magia. Terza legge di Clarke

  4. #4
    Originariamente inviato da goku370
    E come faccio?


    devi installare un hook ( tastiera e mouse ), tramite SetWindowsHookEx ( è una api di win32 ), a livello globale, mettendo le procedure di hook in una dll esterna (obbligatorio).
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  5. #5
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569
    Qualche esempio....
    Una tecnologia sufficientemente avanzata è indistinguibile dalla magia. Terza legge di Clarke

  6. #6
    Originariamente inviato da goku370
    Qualche esempio....
    http://www.codeguru.com/vb/gen/vb_system/keyboard/article.php/c4829/
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  7. #7
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569
    Sei molto gentile, ma accidenti io non ci capisco più niente.....
    Ma a cosa serve esattamente quell'API. Non riesco a capire cosa devo fare.... :master:
    Una tecnologia sufficientemente avanzata è indistinguibile dalla magia. Terza legge di Clarke

  8. #8
    ti spigo, terra terra.

    quando l'utente preme un tasto, sposta il mouse, il tuo hook ricevera' una notifica, con la quale ti salverai la data/ora dell'ultimo "evento" dell'utente.

    se, una volta che controlli, non è successo niente negli ultimi 30sec allora fermi il tuo timer!

    quando tu "registri" il hook, con SetWin..., spefichi una funzione nella quale verrai "avvertito", oltre alla funzione, il tipo di hook (tastiera, mouse...) e l'ambito (globale, x un processo o thread, ecc)
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  9. #9
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569
    Allora io ho inserito questo codice nelle Dichiarazioni generali del form:

    codice:
    Public Declare Function SetWindowsHookEx Lib "user32" _
      Alias "SetWindowsHookExA" (ByVal idHook As Long, _
                                 ByVal lpfn As Long, _
                                 ByVal hmod As Long, _
                                 ByVal dwThreadId As Long) As Long
    Quello che non ho capito è che codice utilizzare poi....
    Una tecnologia sufficientemente avanzata è indistinguibile dalla magia. Terza legge di Clarke

  10. #10
    idHook sarebbe il tipo di hook (tastiera mouse...)
    lpfn è l'indirizzo della funzione che ricevera' "gli avvisi" degli eventi del mouse/tastiera
    hmod è il handle della DLL che carichi tramite LoadLibrary e che contiene la funzione citata sopra
    dwThreadId lo metti a 0
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.