Il n'y a pas de mécanismes pour ça, car ça n'a pas trop de sens.
Exemple, si tu es dans le Notepad ou autre champ de saisie, même sans
rien faire, l'image de l'écran va changer régulièrement à cause du
curseur clignotant...
tout d'abord merci pour la reponse.
pour une application remote desktop, je veux envoyer au client
seulement les pixels de la zone qui ont changé dans l'écran, pour cela
il faut déja savoir que l'ecran à changé.
donc pour connaitre si l'image a changé tu me conseille de prendre à
chaque instant T une capture d'écran et faire un XOR avec l'image de
la capture précédente pour détecter s'il ya eu un changement ou pas ?
ou bien il y a une autre methode avec windows qui me permet de
savoir ?
sinon tu n'as pas le code pour prendre la capture d'ecran en utilisant
windows api, stp ?
merci bien
Avec les MFC :
Voir aussi : http://www.codeguru.com/bitmap/WindowBitmap.html
> sinon tu n'as pas le code pour prendre la capture d'ecran en utilisant
> windows api, stp ?
Tu fais juste un BitBlt() (sur GetDesktopWindow() par ex) =>
HBITMAP GetBitmapFromWindow(HWND hWnd)
{
HDC hDC, hDCMem;
HBITMAP hBitmapReturn, hBitmapOld;
RECT rect;
GetWindowRect(hWnd, &rect);
hDC = GetWindowDC(hWnd);
hDCMem = CreateCompatibleDC(hDC);
hBitmapReturn = CreateCompatibleBitmap(hDC, rect.right - rect.left,
rect.bottom - rect.top);
hBitmapOld = (HBITMAP)SelectObject(hDCMem, hBitmapReturn);
BitBlt(hDCMem, 0, 0, rect.right - rect.left, rect.bottom - rect.top,
hDC, 0, 0, SRCCOPY);
SelectObject(hDCMem, hBitmapOld);
DeleteDC(hDCMem);
ReleaseDC(hWnd, hDC);
return hBitmapReturn;
}
j'ai regardé rapidement ce lien mais je n'ai vraiment rien compris :s
je dois dire que je n'ai jamais utilisé les MFC. ya il quelque chose a
live avant pour comprendre ce qui est expliqué dans ce lien ? et est
ce que ça va me permetre de savoir s'il ya eu un changement dans
l'image actuel de l'ecran ?
Pas besoin des MFC , cf. ex avec BitBlt() ci-dessous pour récupérer un
HBITMAP de l'écran.
mais aussi on peut voir le changement avec la taille précis de l'image
ex:
tu fais une capture de l'ecrant il faut 1,512 mo
et t'en refais une nouvelle et en fonction des couleur ...... etc la
taille de l'image change ex : avant 1,512 et après 1,549
bon j'ai 14 ans mais je vois comme ça ! XD