Come fermare l'evento MouseMove

di il
22 risposte

22 Risposte - Pagina 2

  • Re: Come fermare l'evento MouseMove

    31/01/2025 - grumpy ha scritto:

    Forse è meglio se spieghi qual è il tuo obbiettivo in pratica,

    Scusate se mi autocito. E' sempre consigliabile fare un po' di analisi prima di cominciare a buttare giù del codice più o meno a caso.

    Veniamo alla questione:

    Se, come dici, l'applicazione utilizza più form, la strada dell'evento MouseMove non ti può portare lontano perché tale evento è riferito ad ogni singolo form. Inoltre dovresti cercare di rilevare, oltre ai movimenti del mouse, anche la pressione di qualche tasto della tastiera. Senza andare a riscavare la "pompa dei messaggi" (che però sarebbe bene sapere cos'è e come funziona!) ti sarà senz'altro di aiuto, per partire, conoscere l'evento Idle dell'aggetto Application, ben documentato. 

    Prova e facci sapere cosa ne viene fuori.

  • Re: Come fermare l'evento MouseMove

    Grazie ad entrambi dei consigli

    mi studierò sia le indicazioni di By65Franco che di grumpy, ma non ora.....è venerdiiiii.

    Vi farò sapere prossimamente, intanto ho realizzato che mousemove non è la strada corretta, è già qualcosa.

    Grazie ancora per l'aiuto

  • Re: Come fermare l'evento MouseMove

    31/01/2025 - Orangine ha scritto:

    Lo scopo è quello di sapere se l'utente utilizza l'app che ho fatto oppure se l'ha avviata solamente ma poi fa altro, per esempio naviga su internet  per ore.

    Se un fornitore mi chiude un programma perché non lo sto usando l'azienda software chiude i battenti...per denuncia.

    1) io pago io decido se usarlo o no.

    2) il programma non deve controllare se sto su internet o uso altri programmi.

    3) apro il programma, ci lavoro, sto inserendo un record, mi allontano e al ritorno ho perso tutto perché il programma si è chiuso????

    Ma tu hai il cellulare che si spegne se non fai o ricevi telefonate o se non metto la sim? Ma saranno affari di chi ti paga?

    Non è un rimprovero ma un consiglio.

  • Re: Come fermare l'evento MouseMove

    31/01/2025 - sihsandrea ha scritto:

    Non è un rimprovero ma un consiglio.

    Vorrà controllare la produttività ????  ;-)   in tal caso esistono altri metodi più efficaci e mirati. La butto lì... 

    Quindi sempre per curiosità mi viene da chiedere ... perchè si vuole eseguire tale controllo ?  ripeto, solo curiosità la mia.

  • Re: Come fermare l'evento MouseMove

    31/01/2025 - Orangine ha scritto:

    Vi farò sapere prossimamente, intanto ho realizzato che mousemove non è la strada corretta, è già qualcosa

    Ciao, a che punto sei ? io avrei fatto esattamente quello che vorresti fare e te lo spiego in poche parole:

    • Per questo Test nel titolo della form viene riportato il tempo  che scorre di inattività da parte dell'utente
      • per questo test il periodo di inattività è impostato a 20 secondi (ovviamente sarà impostato a enne minuti a proprio piacimento)
      • il rilevamento di inattività viene eseguito ogni secondo (ovviamente verrà impostato per esempio ogni 30 secondi per intercettare una inattività  di 5 minuti oppure a proprio piacimento)
    • Il tempo di inattività si azzera ogni volta che l'utente naviga nella form, aggiorna caselle di testo, interagisce sui button e su ogni altro controllo presente nella form.
    • Il primo messaggio che appare indica che l'utente si trova nella form ma non interagisce
      • la form è attiva e l'utente è inattivo
    • Il secondo messaggio che appare indica che l'utente si trova fuori dalla form
      • la form è inattiva e l'utente si trova a spasso per il computer

    .
    In questo esempio si usa un timer e  le api come suggerito nei post precedenti: GetForegroundWindow e GetActiveWindow

    Non ho rilevato nessun impatto con il consumo di CPU e di MEMORIA

  • Re: Come fermare l'evento MouseMove

    31/01/2025 - By65Franco ha scritto:

    31/01/2025 - sihsandrea ha scritto:

    Non è un rimprovero ma un consiglio.

    Vorrà controllare la produttività ????  ;-)   in tal caso esistono altri metodi più efficaci e mirati. La butto lì... 

    Quindi sempre per curiosità mi viene da chiedere ... perchè si vuole eseguire tale controllo ?  ripeto, solo curiosità la mia.

    Nessun controllo di produttività, un semplice controllo su una login, ciò che fa qualsiasi applicazione a pagamento e non.

    Anche in questo forum esiste.... se sto rispondendo ad un post ma per qualsiasi motivo (il navigare sul web per ore era solo un esempio) non clicco su "invia", dopo un determinato tempo mi viene chiesto di rifare il login perdendo ciò che avevo scritto sino a quel momento.

    Tornando a ciò che serve a me:

    Se un fornitore mi chiude un programma perché non lo sto usando l'azienda software chiude i battenti...per denuncia.

    Non sono un fornitore, aiuto semplicemente un amico che mi chiede supporto (di lavoro io faccio altro, niente a che vedere con la programmazione, per me è solo un hobby)

    io pago io decido se usarlo o no.

    La richiesta mi è arrivata proprio da chi deve utilizzare l'app

    il programma non deve controllare se sto su internet o uso altri programmi.

    Sicuramente il programma non deve controllare ciò che fai al di fuori dell'applicazione ma verificare ciò che fai al suo interno. 

    apro il programma, ci lavoro, sto inserendo un record, mi allontano e al ritorno ho perso tutto perché il programma si è chiuso????

    Il programma, in alcuni passaggi, vincola dei record su un db fino al termine del loro utilizzo impedendone l'utilizzo ad altri utenti. Immagina come scenario un utente che blocca un record ma poi, per motivi che a me non interessano proprio, smette di lavorarci senza svincolare tale record e senza uscire dall'applicazione. Per di più a fine giornata lascia il pc acceso per andare a casa e magari rimane anche in ferie una settimana. Gli altri cosa fanno?  

    Ma tu hai il cellulare che si spegne se non fai o ricevi telefonate o se non metto la sim? Ma saranno affari di chi ti paga?

    Questo esempio non calza per niente, se io ho un cellulare che devo condividere con altre persone e me lo tengo in tasca senza mai utilizzarlo sicuramente le altre persone si potrebbero risentire.

    Non è un rimprovero ma un consiglio.

    I consigli sono sempre ben accettati....

    Sono quasi certo che sono stato io a non essere riuscito a trasmettere la mia volontà, mi auguro di esserci riuscito adesso.

    Ad ogni modo ho ricevuto degli spunti da By65Franco e da grumpy che appena possibile voglio approfondire.

    Grazie di tutto

  • Re: Come fermare l'evento MouseMove

    01/02/2025 - By65Franco ha scritto:

    31/01/2025 - Orangine ha scritto:

    Vi farò sapere prossimamente, intanto ho realizzato che mousemove non è la strada corretta, è già qualcosa

    Ciao, a che punto sei ? io avrei fatto esattamente quello che vorresti fare e te lo spiego in poche parole:

    • Per questo Test nel titolo della form viene riportato il tempo  che scorre di inattività da parte dell'utente
      • per questo test il periodo di inattività è impostato a 20 secondi (ovviamente sarà impostato a enne minuti a proprio piacimento)
      • il rilevamento di inattività viene eseguito ogni secondo (ovviamente verrà impostato per esempio ogni 30 secondi per intercettare per esempio una inattività  di 5 minuti oppure a proprio piacimento)
    • Il tempo di inattività si azzera ogni volta che l'utente naviga nella form, aggiorna caselle di testo, interagisce sui button e su ogni altro controllo presente nella form.
    • Il primo messaggio che appare indica che l'utente si trova nella form ma non interagisce
      • la form è attiva e l'utente è inattivo
    • Il secondo messaggio che appare indica che l'utente si trova fuori dalla form
      • la form è inattiva e l'utente si trova a spasso per il computer

    .
    In questo esempio si usa un timer e  le api come suggerito nei post precedenti: GetForegroundWindow e GetActiveWindow

    Non ho rilevato nessun impatto con il consumo di CPU e di MEMORIA

    Grazie 65ByFranco hai centrato appieno l'obbiettivo, non mi resta che studiare  GetForegroundWindow e GetActiveWindow

  • Re: Come fermare l'evento MouseMove

    01/02/2025 - Orangine ha scritto:

    Grazie 65ByFranco hai centrato appieno l'obbiettivo, non mi resta che studiare  GetForegroundWindow e GetActiveWindow

    Ciao, è una delle strade percorribili... ma si può realizzare anche con altri metodi.

Devi accedere o registrarti per scrivere nel forum
22 risposte