1

Yo !

je suis en train de faire un économiseur d'ecran sous VC++6 avec OpenGL qui est censé s'amuser avec le bureau de Windows. Mon seul pb : je ne sais pas comment faire une capture d'ecran afin de récuperer ce dit bureau... quelqu'un connaitrait-il une fonction qui premetrait de recuperer l'image du bureau ? merci grin
Ancien pseudo : lolo

2

Ba cherche avec google... Mai sinon (méthode peut-être un peu gore tongue) essaye de récuperer le DC du bureau avec GetWindowDC(GetDesktopWindow()) et ensuite tente un BitBlt. avec un peu de chance, ça marchera peut-être...
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

3

jai essayé de ce côté la, mais du coup, g du inclure la librairie afxwin.h pour utiliser les CDC, etmaintenant j'ai ces erreurs de compilation :

Linking...
nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBC.lib(new.obj)
nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBC.lib(delete.obj)
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Release/viewergl.scr : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

viewergl.scr - 5 error(s), 0 warning(s)

quelqu'un a une idée de comment les corriger ?
Ancien pseudo : lolo

4

Erf, c quoi cette horreur ? T sûr que tu sais programmer ? Y'a pas besoin de librairies de m**** pour utiliser les fonctions standard de l'API windows.
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

5

j'ai fais ca :

	CDC dc;
	CDC memDC;
	CBitmap bm;

	dc.Attach(GetWindowDC(GetDesktopWindow()));


	sprintf(nom,"%s\data\dalle.bmp",path);

	x = config[0];
	y = config[1];

	xm = (long)(floor(x/16+1)*16);
	ym = (long)(floor(y/16+1)*16);


	bm.CreateCompatibleBitmap(&dc,xm,ym);

	memDC.SelectObject(&bm);
	

	//Convertit la view en bitmap

	memDC.BitBlt(0,0,xm,ym,&dc,0,0,SRCCOPY);
	bm.GetBitmap(&pBitMap);


	image2 = new long[xm*ym];

	bm.GetBitmapBits(xm*ym*pBitMap.bmWidthBytes,image2);
Ancien pseudo : lolo

6

dans openGL tu as pas une fonction du style EcranVirtuel_To_Screen ?
(surement...)
bah, tu as pas une fonction qui permet de faire l'inverse ? si c le cas, tu l'utilise au lancement du prog, qd tu n'as pas encore effacé l'écran...

(il me semble qu'avec Allegro j'arrivais à le faire... enfin, plus trop sûr, mais il me semble)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

7

na, c pas possible, car avant tout, tu dois initialiser l'opengl, et dans ce cas la, l'ecran est direct tout noir...

mais c bon, g trouver mon bonheur sur cppfrance.com
merci a tous
Ancien pseudo : lolo

8

pour ceux que ca interesse, voici le résultat :

http://www.lminguet.freesurf.fr/programme/pc/screensaver/index.html
Ancien pseudo : lolo

9

na, c pas possible, car avant tout, tu dois initialiser l'opengl, et dans ce cas la, l'ecran est direct tout noir...

argh, ok...
pas pratique alors, openGL sur ce coup grin
(je connais pas l'open GL, en même temps=
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

10

cat /dev/fb0
désolé -->[_]
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

11

??? comment ca ?
Ancien pseudo : lolo

12

/dev/fb0, ça doit être l'écran, sous unix-like
cat, ça affiche à l'écran
=> cat machin affichera le conteu du fichier machin à l'écran
là, tu affichera l'écran à l'écran, non grin
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

13

tiens, c bizarre, j'aurais juré avoir marqué WINDOWS dans le message de départ gol
Ancien pseudo : lolo

14

grin
c'est peut-être aussi pr ça qu'il sortait tongue
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

15

http://www.cygwin.com grin
Mais sérieusement, /dev/fb0 n'existe pas sous Cygwin, ça doit être du Linux-only, pas du POSIX.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

vi,cé le device associé au framebuffer, jpense que c'est linux only..
Hmm... Garcon ! UN PACK DE KOENIGS SVP !

17

(heu framebuffer : [graphisme] Partie de la mémoire gérée comme étant une représentation directe des pixels à l'écran. Écrire dans cette mémoire revient à modifier l'affichage. (http://www.linux-france.org/prj/jargonf/F/frame_buffer.html))
Hmm... Garcon ! UN PACK DE KOENIGS SVP !

18

en fait la sortie de
cat <fichier>
est le contenu du fichier

donc tu la redirige avec un pipe ou autre et tu obtiens le contenu de l'écran
ça n'affiche pas l'écran à l'écran, pour ça il faudrait faire:
cat /dev/fb/0 > /dev/fb/0

mais c'est du linux je sais, c'etait pour que tu sois bien content de voir comme tu te compliques la vie en programmant sous windows smile

allez --->[_] je resors
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

19

Si, cat /dev/fb0 affiche l'écran à l'écran, mais sous une autre forme... Un peu comme si tu regardais le contenu de la mémoire vidéo avec un éditeur hexa cheeky

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)