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

MFC Discussion :

[Win32-VC7]WaitableTimer


Sujet :

MFC

  1. #1
    jmv
    jmv est d�connect�
    Membre chevronn� Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    D�tails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Par d�faut [Win32-VC7]WaitableTimer
    bonjour,

    j'ai un pb avec Visual Studio.NET (en fait j'utilise VC++7) J'aimerais tester le petit bout de code suivant :
    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
    #include "stdafx.h"
    #include <windows.h>
    using namespace std;
     
    int _tmain(int argc, _TCHAR* argv[])
    {
        HANDLE ht = CreateWaitableTimer(NULL, false, "MonTimer");
     
        LARGE_INTEGER time; 
        time.QuadPart = -20000000; // 20 000 000 * 100ns = 2s
        SetWaitableTimer(ht, &time, 1000, NULL, NULL, false);
     
        while(1)
        {
            WaitForSingleObject(ht, INFINITE);
            cout << "timer\n";
        }
        return 0;
    }
    et j'ai le messages d'erreur suivants :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    d:\user\jmv\visualC++\essai_timer\essai_timer.cpp(13): error C3861: 'CreateWaitableTimer': identificateur introuvable, même avec une recherche qui dépend de l'argument
    d:\user\jmv\visualC++\essai_timer\essai_timer.cpp(15): error C3861: 'SetWaitableTimer': identificateur introuvable, même avec une recherche qui dépend de l'argument
    Faut-il inclure un autre fichier .h, ou ajouter au projet une librairie ???

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    deja je mettrais windows.h dans stdafx.h .
    que contient stdafx.h ?
    apres (�a m'etonnerait que �a cause un pb mais bon)
    au lieu de mettre false met FALSE : respecte les signatures les apis32 ne connaissent pas le type bool ...

  3. #3
    jmv
    jmv est d�connect�
    Membre chevronn� Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    D�tails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Par d�faut
    j'ai fait ce que tu m'as dit ... idem

    le fichier stdafx.h contient:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    #pragma once
    #include <iostream>
    #include <tchar.h>
    #include <windows.h>

  4. #4
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    re,
    apres un rapide essai avec vc7 je confirme .
    �a doit etre encore une pb avec les includes ou les directives de compilation,
    j'ai refait le meme projet en win32 avec support des MFC et la pas de pb �a compile / link.

  5. #5
    jmv
    jmv est d�connect�
    Membre chevronn� Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    D�tails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Par d�faut
    bizarre parce que pour l'instant je n'ai eu aucun pb avec CreateProcess(), CreateThread(), etc... dans mes applications console win32

    si quelqu'un a une id�e, je suis preneur

  6. #6
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    re,
    la solution :
    tu rajoutes #include <afx.h> dans stdafx.h a la place de windows.h
    dans les proprietes de compil : generation de code :
    tu selectionnes pour bibliotheque run time : multi thread /mtd pour debug ou /mt pour release.

  7. #7
    jmv
    jmv est d�connect�
    Membre chevronn� Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    D�tails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Par d�faut
    ok,
    j'essaye �a demain matin parce que l� je peux pas je te tiens au courant.

    Merci beacoup

  8. #8
    jmv
    jmv est d�connect�
    Membre chevronn� Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    D�tails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Par d�faut
    salut farscape,

    J'ai essay� ce que tu m'as dit, je n'avais plus d'erreur de compilation mais le linker me sortait 2 erreurs.

    En fait, j'ai relus � fond l'aide sur CreateWaitableTimer() et j'ai trouv� qu'il fallait que je d�finisse la constante _WIN32_WINNT:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    #define _WIN32_WINNT 0x500 // pour win2000
    et maintenant �a marche en incluant <windows.h> (pas besoin de <afx.h>) et avec la librairie runtime /mld.

    au final voici le code, essai_timer.cpp:
    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
    // essai_timer.cpp : définit le point d'entrée pour l'application console.
    //
     
    #include "stdafx.h"
    using namespace std;
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	HANDLE ht = CreateWaitableTimer(NULL, FALSE, "MonTimer");
    	LARGE_INTEGER time; time.QuadPart = -20000000; // 20 000 000 * 100ns = 2s
    	SetWaitableTimer(ht, &time, 1000, 0, 0, false);
    	while(1)
    	{
    		WaitForSingleObject(ht, INFINITE);
    		cout << "timer\n";
    	}
    	return 0;
    }
    et stdafx.h:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // stdafx.h : Fichier Include pour les fichiers Include système standard,
    // ou les fichiers Include spécifiques aux projets qui sont utilisés fréquemment,
    // et sont rarement modifiés
    //
     
    #pragma once
     
    #define _WIN32_WINNT 0x0500
     
    #include <iostream>
    #include <tchar.h>
     
    // TODO : faites référence ici aux en-têtes supplémentaires nécessaires au programme
    #include <windows.h>
    Ca m'apprendra � ne pas lire la doc � fond
    En tout cas , je te remercie car tes r�ponses m'ont quand m�me mis sur la piste
    A++
    jmv

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    R�ponses: 8
    Dernier message: 08/06/2005, 15h57
  2. [Kylix] kylix3 ----> win32
    Par blue dans le forum EDI
    R�ponses: 3
    Dernier message: 28/01/2003, 11h27
  3. gcc et win32
    Par MatRem dans le forum Autres �diteurs
    R�ponses: 1
    Dernier message: 16/01/2003, 12h22
  4. [API win32] R�cup�rer le r�pertoire d'un profile
    Par sbeu dans le forum API, COM et SDKs
    R�ponses: 3
    Dernier message: 27/09/2002, 12h38
  5. convertir un nom long (win32) en format dos (8+3)
    Par kylekiller dans le forum Langage
    R�ponses: 2
    Dernier message: 30/08/2002, 13h34

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