IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Plateformes Discussion :

Répondre aux changements de session


Sujet :

Plateformes

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 44
    Points : 27
    Points
    27
    Par défaut Répondre aux changements de session
    Bonjour,

    J'ai vu que je pouvais détecter certains event comme le lock/unlock screen en utilisant WTSRegisterSessionNotification, j'ai bien ajouté User32.lib et Wtsapi32.lib pour faire cela, parcontre je ne sais pas ou et comment je peux implémenter la Callback function ( basé normalement sur HanderEx , tel que spécifié dans MSDN ) pour recevoir les messages.

    J'ai également vu une méthode QCoreApplication::WinEvenFilter, mais comment je peux l'implémenter dans un QApplication ?

    D'avance merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    J'ai réussi à détecter les events windows en implémentant QAbstractNativeEventFilter.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    class LockEventFilter : public QAbstractNativeEventFilter
    {
    public:
        virtual bool nativeEventFilter(const QByteArray &eventType, void *message, long *result)
        Q_DECL_OVERRIDE
        {
            if (eventType == "windows_generic_MSG" || eventType == "windows_dispatcher_MSG" ) {
                MSG *msg = static_cast<MSG*>(message);
                //qDebug() << msg->time;
                if(msg->message == WM_WTSSESSION_CHANGE){
                    if(msg->wParam == WTS_SESSION_LOCK){
                        qDebug() << "Lock";
                        return true;
                    }
                    else{
                        qDebug() << "unLock";
                        return true;
                    }
                }
            }
            return false;
        }
    };
    Par contre je n'arrive pas à trouver le message reçu en cas de lock de session, je n'ai jamais de retour quand je lock/unlock ma session.

    Des idées ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/04/2007, 20h08
  2. Réponses: 1
    Dernier message: 07/07/2006, 14h56
  3. Accès aux variables de session
    Par bertrand075 dans le forum Langage
    Réponses: 4
    Dernier message: 31/05/2006, 13h59
  4. [Struts]Accès aux Form en session depuis execute?
    Par odoli dans le forum Struts 1
    Réponses: 4
    Dernier message: 07/12/2004, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo