SCREENSHOT / SNAPSHOT SANS CLIPBOARD NI SENDKEYS

cs_jcq Messages postés 211 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 janvier 2010 - 23 mars 2005 à 16:47
mat_yaute Messages postés 8 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 6 mai 2008 - 30 sept. 2008 à 01:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30267-screenshot-snapshot-sans-clipboard-ni-sendkeys

mat_yaute Messages postés 8 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 6 mai 2008
30 sept. 2008 à 01:24
Excellente source qui m'a permis de faire enfin ce que je voulais faire dans mon projet, à savoir faire une capture d'une fenêtre comportant un controle ActiveX.
PWM63 Messages postés 127 Date d'inscription lundi 11 octobre 2004 Statut Membre Dernière intervention 18 mai 2016
15 mai 2008 à 18:01
Petit commentaire après avoir regardé l'utilisation de l'API :)

HVB, je te soutiens dans tes argumentations, d'ailleurs, ceux de OneHacker sont relativement court.
Il est vrai que faire 1000 screenshots en 1 seconde, ca ne doit pas être évident, mais les enregistrer dans 1000 fichiers différents sur le disque, ca doit être encore plus tendu ! A part peut-être sur le dernier Cray ? (lol)
Ceci dit, si ce que dit OneHacker est vrai, alors je suis également certain qu'il arrivera à faire un moteur de recherche mieux que Google... (Larry P. et Sergey B., cravachez dur, OneHacker arrive !!!)
Utilisateur anonyme
18 août 2007 à 03:33
Ce thread : http://www.vbfrance.com/infomsg_EXPORTER-PARTIE-PAGE-HTML-VERS-IMAGE_998767.aspx
Une utilisation possible de ce code source ?


seb
hpfx Messages postés 22 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 18 novembre 2007
16 août 2007 à 11:54
heu au debut, vous parlez de VB6, ca tombe bien ,je recherche la même chose en VB6, certains ici disent avoir vu ce code pour VB6, est-ce que vous ne l'auriez pas encore quelquespart.

oui je sais VB6 c'est tout pourris etc etc, mais bon, c'est un choix, et il faut reconnaitre que c'est un language simple et qui marche sous toutes les plateformes (de win95 à vista).

Merci d'avance.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
8 févr. 2007 à 13:40
pour les appels "inter-threads" je crois qu'il faut utiliser la commande Synlock. et gérer les erreurs de façon à ce que quand la valeur n'est pas acessible afficher un message d'erreur du genre "Objet déjà utilisé".
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
8 févr. 2007 à 11:54
je commence un client irc là, mais avant ça je me crée une classe personalisé de gestion des sockets, à la maniere de winsock en vb6. Le problème c'est qu'en VB2005, les appels "inter-threads" à des objets forms ou composant de la form levent une exception, j'ai donc egalement du ecrire une gestion de ce problème... bref, perso, j'ai de quoi faire ^^
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
7 févr. 2007 à 17:54
D'accord, sinon t'a une idée de projet à faire à plusieurs ? Ca me changerait un peu ^^.

Redman
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
6 févr. 2007 à 23:39
Dans ce cas ne le poste pas, surtout si c'est "mieux que google" (ahah) et que tu veux te faire de l'argent.
C'est un peu ce que je dis au dessus, les applis que je compte présenter en fin d'année pour mes examens, j'attends de les présenter avant de les poster, j'ai peur qu'un mec de la même session que moi le pompes, ou fasse un truc semblable.
(ouais je suis parano, c'est sur...)
C'est sur que normalement je le presenterais toujours mieux qu'un usurpateur mais quand même...
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
6 févr. 2007 à 19:51
Okay d'accord. Je te pardonne mon cher HVB. Bon à part ça j'ai un truc à vous dire : je vais bientôt faire mon moteur de recherche et mieux que Google et je compte me faire de l'argent mais j'hésite à le poster sur VBFrance car on peut me recopier avec le code.
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
5 févr. 2007 à 17:50
ok merci Renfield.
Le long debat inutile du dessus a un peu joué dans mon emportement.
Je m'excuse donc, OneHacker, pour ma derniere remarque relative au snippet, mais je soutiens bien sur tout ce que j'avance au sujet du shoter... ;)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 févr. 2007 à 12:22
Ne soit pas si dur, HVB...

OneHacker a bien tenté de te citer dans le Snippet
http://www.codyx.org/snippet_faire-capture-ecran_8.aspx

dès son premier ajout, d'ailleurs.
Mais celui-ci était mal formatté et le snippet a été refusé

au second ajout, celui qui est visible, il a omis de te citer.

une semaine après, il a reposté son snippet, en te citant, mais il n'a pas été accepté...
je rejette donc celui du 18.12
et mets en place celui du 20.12
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
5 févr. 2007 à 11:09
Et à quand une mise à jour du codyx ou tu as posté ma source sans me citer?
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
4 févr. 2007 à 01:56
Si ça peut reduire ta mauvaise fois, j'ai quatre PC chez moi, je ne fais pas mes tests que sur une seule machine.

Et comme je l'ai dit au dessus :
[Quote]
Un truc vraiment stupide qui rend impossible de marcher ton code, c'est que les fichiers sont appelé Nom_du_shot - date_heure (ScreenShot - 01-01-2007 23 45 02), donc tu va réecrire tout le temps dans le meme fichier, resultat... 1 screen par seconde lol.
[Quote]

Aurais tu en fait une version totalement amméliorée de mon prog, que tu ne nous as pas donné ou es-ce que tu t'obstines à refuser de lire mes messages?
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
4 févr. 2007 à 01:30
Ben t'a pas les mêmes résultats que moi c'est tout.
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
4 févr. 2007 à 01:22
lol...! oui, chez toi, ça marche. Surtout si tu l'as testé "avant moi" (??).
Mais pour toutes les autres personnes, tu as gagné, je vais te repondre à nouveau, et vraiment conclure.
Tout d'abord il faut noter que ton exemple, tu l'as donné plus haut des les commentaires. Je l'ai regardé, la seule modification que tu ai faite dans le coeur du code,
c'est sur cette ligne :
Threading.Thread.Sleep(interval * 1000)
que tu as remplacé par celle ci :
Threading.Thread.Sleep(interval)
variable interval, que tu modifie via une combobox dans l'IHM, que tu multiplie ou non 1000.
Un truc vraiment stupide qui rend impossible de marcher ton code, c'est que les fichiers sont appelé Nom_du_shot - date_heure (ScreenShot - 01-01-2007 23 45 02), donc tu va réecrire tout le temps dans le meme fichier, resultat... 1 screen par seconde lol.
Moi j'avais ajouté now.millisecondes au nom de fichier, ce qui avait déja plus de sens.
Le probleme c'est que bien sur, il faut un certain temps pour effectuer le traitement de la capture, les resultats sont donc un peu aléatoire, et surtout, ils dependent du format specifié, et du type de la capture (ecran entier, fenetre + ou - grande)
Mais quelque soit le type selectionné, le resultat ne depassera pas les 50 screens par secondes (au mieux, avec un format de compression elevé, et une fenetre assez petite).
Pour finir, tu parle de multithreading mais tu ne le met meme pas en oeuvre.
Mais meme en instanciant un thread par shot (ce que j'avais tenté au depart), au contraire, plusieurs exeptions de gdi sont levée lors de l'enregistrement de fichier, ce qui peut reduit encore plus les performances.
Tout ça pour prouver que tu as eu raison de souligner qu'on pouvait faire + qu'un screen par secondes, ce que j'ai modifié dans ma derniere version pour faire des captures vidéos (j'autorise un screen toutes les 100 millisecondes), mais les performances que tu avancent sont totalement impossible, et le sample que tu as mis en ligne ne marche pas...
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
3 févr. 2007 à 23:19
Si ca marche puisque je l'ai testé avant toi et j'ai déjà argumenté je vais pas le faire à chaque fois que tu postes je t'ai expliqué et j'y peux rien si tu es têtu.
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
3 févr. 2007 à 21:35
tu me gaves, tu ne lis pas mes messages, tu n'argumentes pas, et je vois que tu ne testes pas ce que je dis.
Ca ne marche pas, tu n'as pas de message d'erreur, mais ça ne genere pas 1000 screens par secondes, ce qui est tout à fait logique, et ce pour une raison physique, qui n'a d'ailleurs pas à voir avec ta ram ni ton procésseur mais avec ton disque dur.
Pourquoi pense tu que j'ai limité à 1 screen par seconde au debut?
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
2 févr. 2007 à 18:34
Si on peut, je t'ai passé le code source exprès ! J'y peux rien si t'a un ordi lent moi en utilisant 128 de RAM et 1.4Ghz AMD Athlon ca marche !
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
31 janv. 2007 à 22:34
Bon lol, pour conclure cette histoire d'intervalle, qui est devenu un bete débat sans interet.

Non on ne peut pas effectuer un screen toutes les millisecondes, cela reste coherent en reduisant à 1 screen toutes les 100 millisecondes mais en specifiant un format de sortie leger (jpg, png, gif) et sans shoter l'ecran entier... A un interval plus bas, on se retrouve avec un resultat plus aléatoire, mais sans pour autant generer d'erreures.
C'est pour cela que dans la version finale que je fini de developper actuellement, je n'autoriserais pas d'interval inferieure à 100 millisecondes, ce qui est déja un peu trop bas, mais qui marche tres bien pour les captures de vidéos.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
30 déc. 2006 à 19:37
J'ai un disque dur Maxtor 100GO
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
20 déc. 2006 à 19:26
Tu as filé comme seule preuve "ton" (mon) prog qui n'est en rien ammélioré niveau perf'...
J'ai effectivement été un peu dur en ne citant les performances qu'en selectionnant le format bitmap et une capture d'ecran complete (tu n'as preciser nulle part ce que tu utilisais).

Pour tenter d'aller dans ton sens, j'ai essayé en capturant la fenetre active (toute petite, en l'occurence le sample de mon code...) au format gif, ça me genere environ 50 gifs (13ko chacuns) par secondes... on est très loin du screen par milliseconde.

Donc je suis obligé de me repeter :
Sache que selon toi, vu que "ça marche" :
1) tu ecrirais donc 1000 fichiers en une seconde, au format gif, le plus leger cela fera à peu près 145Mo (en comptant environ 150ko par screen), en bitmap cela ferait 2Go, donc déja j'aimerais bien avoir la marque de ton disque dur.
Ceci en prenant bien sur une capture complete de l'ecran.
2) Je t'ai donné le moyen de tester ton appli, avec le truc du compteur, tu as dit toi même que c'etait sans succés... je ne comprend vraiment pas comment tu peux continuer à pretendre que ça marche.

Pour finir, je n'apprecie pas trop le "Tu dis n'impote quoi" alors que TU debites un amas de betises et que je m'efforce de rester courtois avec toi, en argumentant à chacun de mes messages.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
20 déc. 2006 à 16:54
TU dis n'impote quoi j'ai un ordi moins puissant que toi et ca marcche très bien. Et ce n'est pas sans intérêt et c'est toi qui est obstiné. lol
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
19 déc. 2006 à 19:58
et j'apprecie vraiment ta façon d'ignorer les messages qui ne t'arrange pas ^^
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
19 déc. 2006 à 19:55
c'est exactement ce que je disais, AUCUNS INTERETS.
Car cela ne marche pas du tout, et comme je l'avais precisé, il est evidemment impossible de faire un screen par miliseconde. Je viens de tester avec ton appli, qui est n'est en fait que la mienne avec une option pour ne pas multiplier par 1000 l'intervalle... mais malgré ça on se retrouve avec 1 voir 2 screen par secondes, sur un petit pentium M 1.6Ghz, avec 512Mo de ram.
Je te l'ai dit depuis le debut mais tu t'es obstiné...
quelle perte de temps :)
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
19 déc. 2006 à 18:08
Voilà qui est fait : http://perso.orange.fr/redteam/SnapShotSample.zip

J'ai essayé de mettre 2 Application.DoEvents quand l'intervalle est rapide pour que cela force les images à s'enregistré de suite mais cela ne fait aucun effet. Et j'ai fait que si le thread est en cours lors de la fermeture, ca le ferme.

Redman
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
18 déc. 2006 à 16:55
et je viens de voir que tu as ajouté mon code au snippets en gardant MES commentaires et sans me prevenir...
tu abuses vraiment...
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
18 déc. 2006 à 13:18
donc si tu le lance une seconde, il te crée 1000 fichiers DIFFERENTS?
Fais un test, en shootant par exemple un compteur (qui se raffraichit à chaque millisecondes) et tu verras que tu n'auras surement pas 1000 fichiers affichant un temps different sur le compteur.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
18 déc. 2006 à 11:43
Si justement c'est possible dans peux de temps je me le zip sur mon site ...
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
18 déc. 2006 à 11:15
l'option de "répétition de screenshot à intervalle paramétrable" y est deja, meme sur la vieille version presente ici, ce que je remettais en cause, c'est le fait de faire un screen toutes les millisecondes, ce qui n'est pas possible.

Je mettrais bientot la version 3 de mon shoter qui propose bcp de nouvelles options pratiques.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
18 déc. 2006 à 10:10
Demain je met le zip sur mon site de nouveau(comme t'avait pas pris le zip depuis ^^) avec la répétition de screenshot à intervalle paramétrable.

Redman
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
18 déc. 2006 à 09:39
???
Date création : 23/03/2005 03:17:44
Date de mise à jour : 29/03/2005 02:11:27

La seule MAJ que j'ai faite est celle relative à la remarque de JesusOnline, puis surement un petit problème d'orthographe plus tard...
J'ai effectivement fait de grosse mise à jour du projet sample mais ne les ai jamais mis en ligne... Serais tu réelement un...hacker? ah ah...
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
18 déc. 2006 à 03:12
J'avoue que depuis la première version tu as fait pas mal d'amélioration ! Je me penche dessus pour voir ce que je peux faire !
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
22 févr. 2006 à 11:40
Je l'ai pas sur cette ordi, patiente sur le 1er ou 2ème weekend de la rentrée

Dans le programme c'est la technique bourrin des threads utiliser en masse ! ;-)

Redman
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
22 févr. 2006 à 00:17
bah ecoute, montre moi tes modifs ici, car je t'avoue que je n'y crois toujours pas
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
21 févr. 2006 à 20:40
Non tu as bien lu je fais 1000 screnshots pas secondes et pas de problème niveau disque dur, et ne rame pas grâce au threading !!!

Redman
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
21 févr. 2006 à 15:36
cela m'ettonerait fortement que tu arrives à faire un screen par millisecondes... qu'as tu modifier, seulement le temps de pause entre les screens de la fonction loop?
1 screen par millisecondes sous entendrais 1000 screens par secondes, rien que niveau accés disque c'est impossible...
je pense que tu veux dire que tu as simplement initialisé la boucle à 1millisecondes de pause, mais le traitement lui, prend plus de temps, c'est sur.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
21 févr. 2006 à 01:03
Je met 9/10 ! J'ai amélioré ta source de façon à ce qu'on choisi la latence de loop en secondes ou millisecondes et j'arrive à faire des screenschot 1/milisecondes sans faire ramer l'ordi sans faire d'erreurs !!

Redman
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
26 oct. 2005 à 10:46
:)
cs_ankou22 Messages postés 81 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 7 juin 2012
26 oct. 2005 à 09:59
HVB Tu es sité dans fichier source... et je rajoute une note...

oups ;)
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
26 oct. 2005 à 09:37
c'est sur ta source qu'il faut me citer alors, pas ici ^^
cs_ankou22 Messages postés 81 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 7 juin 2012
26 oct. 2005 à 01:47
Bonjour [ hvb ],
Je viens de poser une source sur :

http://www.vbfrance.fr/code.aspx?ID=34354

que j'ai réalisé avec l'aide de ta fonction ShotScreenPart(). Je voulais ré-inventer la roue mais je me suis résigné...

Merci
OverDarck Messages postés 116 Date d'inscription jeudi 12 juillet 2001 Statut Membre Dernière intervention 23 juin 2005
18 juil. 2005 à 10:21
pas mal mais sa ne marche pas pour un programme lancé avec les droits "systemes", comme dans mon cas pour une applicaiton CGI...
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
25 mars 2005 à 12:29
l'utilisation d'objets "graphics" : excellent!
Je ne suis pas chez moi mais je modifie le code des ce soir, merci beaucoup pour ton aide!
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 mars 2005 à 00:12
Ajoute le mot clé Shared a tes fonctions ca permettra de les utiliser sans devoirles instancier.

sinon tu initialise des variables que tu n'utilises pas :)

Le code a surement besoin de quelques optimisation, mais c'est assez bien.

J'avais une autre solution :

Public Class ScreenShot2

<DllImport("user32.dll")> _
Private Shared Function GetDesktopWindow() As IntPtr
End Function


<DllImport("gdi32.dll")> _
Private Shared Function BitBlt(ByVal hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, ByVal dwRop As Integer) As Boolean
End Function

Private Const SRCCOPY As Integer = 13369376

Public Shared Function GetScreenBitmap() As Bitmap
Dim gScreen As Graphics = Graphics.FromHwnd(GetDesktopWindow())
Dim bmpScreen As Bitmap = New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
Dim gBmp As Graphics = Graphics.FromImage(bmpScreen)
Dim hDCScreen As IntPtr = gScreen.GetHdc()
Dim hDCBmp As IntPtr = gBmp.GetHdc()
BitBlt(hDCBmp, 0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, hDCScreen, 0, 0, SRCCOPY)
gScreen.ReleaseHdc(hDCScreen)
gBmp.ReleaseHdc(hDCBmp)
Return bmpScreen
End Function

End Class

(source traduit de C#)

Pour ce qui est de faire une capture sans utilises d'api, ca doit etre possible en utilisant le framework de direct, mais c'est pas parce qu'on fait du .net qu'on peut pas utiliser les api, le framework repose sur les apis ...
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
24 mars 2005 à 12:39
jcq : tu ne m'as toujours pas repondu. C'est voulu?
cs_jcq Messages postés 211 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 janvier 2010
24 mars 2005 à 08:54
Oui excusez moi quand je parle d'api, je veux bien sur parler d'api win32.
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
24 mars 2005 à 03:22
jcq : Ok explique moi alors comment faire une capture avec le framework seulement! Je suis preneur.
Mais en quoi les api sont obsolete?? ou as tu vu ça ?? Ou est il ecrit qu'on ne doit pas appeler d'API en .net?
Malgré ça, si tu as les equivalents des apis que j'utilise, je suis preneur aussi!

Pym Corp : plein de code su le net utilisent les device context pour faire des captures...ce code n'est pas l'adaptation d'un code vb6 mais d'un code en c. Du moins il en est fortement inspiré :)
Pym Corp Messages postés 166 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 18 novembre 2007
23 mars 2005 à 20:24
Je crois qu'on doit pouvoir effectivement se passer de quelques API sur gdi32 ici quand même.
Et j'ai déjà vu ce code en vb6 quelque part, il est fort possible que ce code ne soit qu'une adaptation à .NET, mais bon, pas de quoi en faire tout un fromage
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 mars 2005 à 18:25
'obsolète' n'est surement pas le mot qui convient, sans API pas de framework ni aucune autre virtual machine.
cs_jcq Messages postés 211 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 janvier 2010
23 mars 2005 à 18:03
Ne le prends pas mal, ce que je veux dire c'est tout simplement utilise le code .net (framework) pour effectuer une capture et pas les API qui sont obsoletes avec le framework.
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
23 mars 2005 à 17:39
Ce n'est pas parcque j'appele des API que c'est du vb6... effectivement la plupart du code pourrait etre copié dans vb6, vu que ce sont des appels aux api, excepté cette ligne qui n'est pas des moins importante :
Bitmap.FromHbitmap(New IntPtr(bmplng))
qui est bien un appel propre au framework.net (lis tout le code avant de critiquer).
Utiliser l'objet bitmap du framework permet d'acceder à la fonction FromHbitmap, mais aussi de convertir l'image en le format desiré!
On peut peut etre le modifier pour faire la meme chose en vb6, mais la n'etait pas mon but.
De plus, meme si le code marchait en vb6, pourquoi coder une classe en vb6 pour un projet en .net??
Non vraiment, ta critique est à revoir. See u
cs_jcq Messages postés 211 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 janvier 2010
23 mars 2005 à 16:47
euh là je crois que c'est du code VB6 mis dans VB.NET...
Désolé de te dire ça mais aucun intérêt, autant rester sous vb6.
Lorsque tu développes en .NET, l'intérêt est d'utiliser le framework .net
Rejoignez-nous