bonjour,

j'ai créé un prog qui fait des captures d'ecran, ca marche bien dans l'ensemble mais il reste quelques problemes :

1- le curseur de la souris n'est jamais capturé
2- quand je lis une video avec media player classic, ça me met la video en noir
3- certaines "infos bulle" ne sont pas capturés (cf l'image de word : la partie que j'ai mis en rouge n'est pas capturé)



j'utilise la librarie "gdi32.dll", existe-il d'autres librairies qui peuvent resoudre mes problemes ?
ou est ce qu'il y a des erreurs dans mon code ?

voici mon code :

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
 
public Bitmap CaptureScreen() {  
int hSDC, hMDC;
int hBMP, hBMPOld;
int r;
hSDC = CreateDC("DISPLAY", "", "", "");
hMDC = CreateCompatibleDC(hSDC);
FW = GetDeviceCaps(hSDC, 8);
FH = GetDeviceCaps(hSDC, 10);
hBMP = CreateCompatibleBitmap(hSDC, FW, FH);
hBMPOld = SelectObject(hMDC, hBMP);
r = BitBlt(hMDC, 0, 0, FW, FH, hSDC, 0, 0, 13369376);
hBMP = SelectObject(hMDC, hBMPOld);
r = DeleteDC(hSDC);
r = DeleteDC(hMDC);   
oBackground = Image.FromHbitmap(new IntPtr(hBMP));
DeleteObject(hBMP);
return oBackground;
}