Fenetre windows

Signaler
Messages postés
90
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
6 mars 2007
-
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
-
bonjour , comment je peux faire pour changer le fond de ma fenétre windows ? (fenétre du programme)

comment je pourrai faire pôur changer l'intensité du text dans l'ecrant ?

actuellement j'utilise un thread et je dois souvent modifier ce qui a dans la structure a partir du thread et j'aimerai savoir si lorsque je lis ou ecrit dans la structure en meme temp que le programme qui lui a lancer le thread


cela peut-til coser des bugs ?

merci

3 réponses

Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
Tu peut utiliser les critical sections pour accèder et modifier à tes données en même temps sans problèmes. Regarde dans la MSDN les fonctions EnterCriticalSection, LeaveCriticalSection.

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
Messages postés
90
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
6 mars 2007

Tu peux me faire un exemple stp ?

merci
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
#include <windows.h>
#include <stdio.h>

int x = 0;
bool finished = false;
CRITICAL_SECTION sec;

DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
    bool end;

    EnterCriticalSection(&sec);
        end = finished;
    LeaveCriticalSection(&sec);

    while(!end)
    {
        EnterCriticalSection(&sec);
            ++x;
        LeaveCriticalSection(&sec);
    }

    return 0;
}

int main()
{
    InitializeCriticalSection(&sec);
    DWORD dw;
    HANDLE thread = CreateThread(NULL, 0, ThreadProc, NULL, 0, &dw);
    Sleep(1000);

    EnterCriticalSection(&sec);
        finished = true;
    LeaveCriticalSection(&sec);

    printf("La variable x vaut %d\n", x);

    DeleteCriticalSection(&sec);
    CloseHandle(thread);

    return 0;
}

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.