|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Snapshot [ Divers / Trucs & Astuces ] (toosdu87)
Informations & options pour cette discussion
|
vendredi 16 mars 2007 à 10:37:33 |
Snapshot

toosdu87
|
Bonjour à tous, Voilà je travail sur VB NET 2005 j'aimerai pouvoir capturer une zone de l'écran sous forme image et enregistrer ce fichier. J'ai essayer une source sur vb france permettant le snapshot mais elle ne fonctionne pas. Quelqu'un connaitrai une fonction permettant ceci? Merci d'avance
|
|
|
|
vendredi 16 mars 2007 à 11:14:48 |
Re : Snapshot
|
|
vendredi 16 mars 2007 à 11:22:46 |
Re : Snapshot

hvb
|
Réponse acceptée !
ccj : Une telle source existe déja toosdu87 : regarde cette source : http://www.vbfrance.com/codes/SCREENSHOT-SNAPSHOT-SANS-CLIPBOARD-NI-SENDKEYS_30267.aspxIl y a une classe vb2003 et une classe vb2005. L'exemple (le zip) est en vb2003 mais il est compatible vb2005. J'ai fait une version beaucoup plus importante en vb2005 mais c'est un des projets que je presente en fin d'année pour mon exam, j'attend donc de l'avoir passer pour le mettre à disposition ici. Néanmoins, ce qui est déja present devrait repondre amplement à ta question. Have fun Hvb aka Batto bato.ltd at gmail.com
|
|
|
|
vendredi 16 mars 2007 à 11:29:53 |
Re : Snapshot

toosdu87
|
Merci pour vos sources je vais jeter un oeil. cependant la source de hvb je l'ai tester est elle ne fonctionne pas. Enfin je vais insister Merci les gars
|
|
|
|
vendredi 16 mars 2007 à 11:36:27 |
Re : Snapshot

hvb
|
en quoi elle ne fonctionne pas? soit plus précis, car avancer sans rien derriere qu'elle ne fonctionne pas alors que plusieurs personne de mon école l'utilise sans problème, et que plusieurs personnes d'ici l'ont testé n'est pas très correct.
Hvb aka Batto bato.ltd at gmail.com
|
|
|
|
vendredi 16 mars 2007 à 11:50:58 |
Re : Snapshot

toosdu87
|
C'est pas ce que je veux dire, cependant lorsque je l'ai lancé et tester rien ne s'est passé. Comme je t'ai dis au dessus je vais me mettre bien dedans pour comprendre comment ca tourne
|
|
|
|
vendredi 16 mars 2007 à 11:56:03 |
Re : Snapshot

toosdu87
|
Pour être plus précis j'ai 6 avertissements au départ du type: accès à un membre partagé....... il doit me manquer quelque chose pour qu'il tourne bien.
Ta eu ce souci?
|
|
|
|
vendredi 16 mars 2007 à 12:00:18 |
Re : Snapshot

hvb
|
oui je prefere lol... Les fonctions de ma classe renvoient un objet de type bitmap, il suffit donc de les appeler et de stocker le resultat dans un fichier bitmap, et c'est ensuite à toi de faire l'enregistrement de fichier. Si tu veux voir un exemple, lance l'exemple que j'ai joint avec la source, qui, une fois converti pour vb2005, fonctionne sans aucuns soucis (je viens de retester car tu m'as fait douter sur la compatibilité 2003/2005)
Hvb aka Batto bato.ltd at gmail.com
|
|
|
|
vendredi 16 mars 2007 à 12:04:52 |
Re : Snapshot

hvb
|
post croisé desolé. Pour les avertissements, je viens de voir ça, alors dans l'ordre : ligne 362 : enleve le "datez" avant now.tostring ligne 368,371 et 373 : remplace touts les "curscreen" par ScreenShoter
Hvb aka Batto bato.ltd at gmail.com
|
|
|
|
vendredi 16 mars 2007 à 12:08:08 |
Re : Snapshot

hvb
|
et il reste 2 avertissements dans la classe, que j'ai modifié pour y paliere (je l'avais fait en vb2005 mais pas en vb2003) : Public Class ScreenShoterPrivateDeclareFunction BitBlt Lib"GDI32" (ByVal hDestDC As IntPtr, ByVal X AsInteger, ByVal Y AsInteger, ByVal nWidth AsInteger, ByVal nHeight AsInteger, ByVal hSrcDC As IntPtr, ByVal SrcX AsInteger, ByVal SrcY AsInteger, ByVal Rop AsInteger) AsIntegerPrivateDeclareFunction GetForegroundWindow Lib"user32" () As IntPtrPrivateDeclareFunction GetWindowRect Lib"user32.dll" (ByVal hWnd As IntPtr, ByRef lpRect As Rectangle) AsIntegerPrivateDeclareFunction GetDesktopWindow Lib"user32" () As IntPtr'Capture tout l'écranPublicSharedFunction ShotScreen() As BitmapTryDim DesktopRect As Rectangle = Screen.GetBounds(New Point(0, 0)) 'obtient la taille du bureau sous forme de rectangle dans DesktopRectReturn ShotScreenPart(DesktopRect.Width, DesktopRect.Height) 'appele la fonction ShotScreenPart avec les dimensions du bureau. Catch ex As ExceptionMsgBox(ex.ToString) ReturnNew Bitmap(1, 1)EndTryEndFunction'Capture la fenetre activePublicSharedFunction ShotActiveWin() As BitmapDim WinRect As RectangleTryIf GetWindowRect(GetForegroundWindow, WinRect) Then'obtient la taille et la position de la fenetre active sous forme de rectangle (WinRect)Return ShotScreenPart(WinRect.Size.Width - WinRect.Left, WinRect.Size.Height - WinRect.Top, WinRect.Left, WinRect.Top) 'appele la fonction ShotLoc avec les dimensions et la position de la fenetre. ElseReturnNew Bitmap(1, 1)EndIfCatch ex As ExceptionMsgBox(ex.ToString) ReturnNew Bitmap(1, 1)EndTryEndFunction'Capture une partie de l'ecran, defini par les deux variable width et height (dimensions du rectangle), et des valeur optionels X et Y (base du rectangle)PublicSharedFunction ShotScreenPart(ByVal nwidth AsInteger, ByVal nheight AsInteger, OptionalByVal x AsInteger = 0, OptionalByVal y AsInteger = 0) As BitmapDim resultBmp As Bitmap = New Bitmap(nwidth, nheight) 'crée l'objet bitmap cibleDim SrcGraph As Graphics = Graphics.FromHwnd(GetDesktopWindow) 'crée l'objet "graphics" SelGraph a partir du handdle du bureauDim BmpGraph As Graphics = Graphics.FromImage(resultBmp) 'crée un objet graphics à partir du bitmapDim bmpDC As IntPtr = BmpGraph.GetHdc() 'obtient le device context du bitmapDim hDC As IntPtr = SrcGraph.GetHdc() 'obtient le device context du bureauBitBlt(bmpDC, 0, 0, nwidth, nheight, hDC, x, y, &HCC0020) '"bit-block transfer" : copie chaque bits affichés dans le device context hDC dans le device context du bitmap SrcGraph.ReleaseHdc(hDC) 'relache le device context du bureauBmpGraph.ReleaseHdc(bmpDC) 'relache le device context du bitmapSrcGraph.Dispose() BmpGraph.Dispose() 'libere toutes les ressources crées par l'objet (useless?)Return resultBmpEndFunctionEnd ClassHvb aka Batto bato.ltd at gmail.com
|
|
|
Cette discussion est classé dans : vb, snapshot
Répondre à ce message
Sujets en rapport avec ce message
projet de fin d'etudes en vb [ par pussycatmiss ]
bonjour;je cherche des idées ou des exemplaires de projet de fin d'etudes en vb? pouvez vous m'aidé
Ouvir un fichier dans VB 6.0 [ par lebasketeur ]
Salut tout le monde ...J'ai programmé un bouton pour parcourir et selectionner le fichier avec l'outil CommonDialog (le chemein est stocké dans une ba
VB.Net Renommer Fichiers [ par MagDix ]
Salut Je veux me créer un petit prog pour renommer plus de 700 fichiersJe veux ajouter le texte (Photo) pour chauqe fichierExempleJ'ai des fichier q
pb insertion VB acces avec textbox [ par lil_adriano ]
Slt, j'ai un petit souci avec mon code enregistrement pour la base de donnée.avec l'insertin direct c'est a dire MaCommande.CommandText ="INSERT INTO
problème de sauvegarde avec excel [ par kamilia911 ]
bonjour tout le monde,j'ai connecté vb a excel , j'ai créé une interface pr ajouter é suprimer . au niveau de vb quand j'ajoute ça se voi é quand je s
Vb.Net Cherche les bouton Dir - Drive et File de VB6 [ par MagDix ]
Bonjour...Je cherche les boutons Dir, File et Drive de VB6 en .NetPour avoir la liste des répertoire, la liste des fichiers du répertoire et voir les
vb.6 avec Excel [ par ymas00 ]
SVP, je cherche comment faire pour récuperer les données à partir d'un fichier Excel et les mettre dans une DataGrid ou DataReader, bien sur avec vb.6
Vb.Net Changer le curseur de ma souris ?? [ par MagDix ]
Salut Je cherche un moyen pour changer le curseur de ma sourisJe croyais que c'était bête à faire Form1.Cursor.... mais je ne trouve pas les image
Liste qui traduit les expression entre vb6 et vb.net [ par minifranki ]
Bonjour,Je suis taner de passer mes journee a essayer dapprendre vb net et s'est toujours sans succes, enfin presque. Je trouve tout plein de tuto sur
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|