Télécharger le zip
Même commentaire que pour la personne ayant répondu avoir trouver une solution plus simple pour la capture d'écran sur ma source .Les deux méthodes proposées ici sont sans doute plus simple à comprendre mais également 50% plus lentes...Le framework étant une surcouche de l'API Windows il est impossible qu'il soit plus rapide dans ces traitements, donc bon. C'est bien jolie de trouver des centaines de facon de faire la même chose, si au moins c'est aussi rapide :)
Si je veux quelque chose de rapide et même de très rapide, je ne programme pas avec C# et le .Net mais avec "C++ Builder".Mais comme je suis sur un site qui est orienté C# et Net , je pense qu'il est mieux d'éssayer de ne pas utiliser les APIs dans la mesure du possible et donc le code de "aogie" est le top puisqu'il n'utilise que 2 API.
Le travail de programmation est souvent fortement lié à un travail de productivité notemment au niveau de l'entreprise principale cliente de nos services de développeurs.Les performances d'un programmes sont prioritaire à sa "beauté".Pour le développeur amateur, cela reste sans doute et je le comprends plus simple de faire un code joli et peu performant.
Je me marre.Toi avoir pas lu message au dessus ou toi,le pro, avoir pas compris...Aller, prends pas cet air supérieur et reste simple.J'ai fait un essai en développant une DLL avec C++BuilderC'est encore 2 fois plus rapide que ta méthode. Donc toi le productif, tu sais ce qu'il te reste à faire.Mais je persiste, on est bien sur un site orienté c#.Net et pas API
.NET ne rime pas avec language de newbies qui se foutent des performances de leur code.La classe que j'ai proposer ce n'est pas pour montrer du code d'utilisation d'API mais afin que l'on puisse l'utilise au sein d'un projet tout autre.
Mais où tu vas la chercher cette idée comme quoi je me fout de la rapidité du code.Et je te signale que personne ne critique ton code, on propose une autre alternative orientée au maxi vers le .Net. Et c'est tout. Point bar.A+.
-est ce qu'il y a une possibilité de faire une capture d'une zone bien précise de l'ecran ?
oui...soit "r" le rectangle correspondant à la portion de bureau à capturerpublic static Bitmap RecupPortionBureau(Rectangle r){Graphics gBureau=Graphics.FromHwnd(GetDesktopWindow());IntPtr hdc=gBureau.GetHdc();Bitmap b=new Bitmap(r.Width,r.Height);Graphics gb=Graphics.FromImage(b);IntPtr hgb=gb.GetHdc();BitBlt(hgb,0,0,r.Width,r.Height,hdc,r.X,r.Y,13369376); gBureau.ReleaseHdc(hdc);gBureau.Dispose();gb.ReleaseHdc(hgb);gb.Dispose();return b;}et il y en a d'autres des méthodes.
est-ce possible de capturer une fenêtre n'étant pas active ?
les APIs me diraient :SendMessage et WM_PRINTCLIENT
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 872 567 membres 17 nouveaux aujourd'hui 16 150 membres club