CAPTURE D'ÉCRAN EN .NET 2.0 (SANS API)

Signaler
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
Messages postés
14
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
2 juillet 2010
-
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/35841-capture-d-ecran-en-net-2-0-sans-api

Messages postés
14
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
2 juillet 2010

oui dsl, je sais que ce n'est normalement pas le meilleur endroit pour poser ma question mais c'est plus en désespoir de cause que je reviens te demander conseil.
j'ai déjà posté un message sur le forum mais qui n'a pas eu grand succès. et ta source étant ce qui se rapproche le plus de ce que je recherche, je me suis dis que tu verrai surement rapidement ce qui cloche dans ma pseudo solution
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
tu sais ici ce n'est pas un forum, on n'est pas là pour résoudre les problèmes sur tes sources... mais pour parler de ma source :)

pourquoi ne pas poster un message sur le forum ?
Messages postés
14
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
2 juillet 2010

bon aller on va tenter une dernière fois de demander conseil. pour me simplifier la vie j'ai decidé de lancer moi meme l'appli histoire d'etre sur d'avoir le bon handle mais le probleme persiste

Dim proc As Process = New Process
proc.StartInfo.FileName = fileName
proc.StartInfo.CreateNoWindow = False
proc.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
proc.Start()
proc.WaitForInputIdle()

Dim f1 As Form = New Form(proc.MainWindowHandle) 'ou proc.handle mais aucun ne marche, f1 vaut nothing

Dim r1 As Rectangle = f1.RectangleToScreen(f1.ClientRectangle)
Dim bmp As Bitmap = New Bitmap(r1.Width, r1.Height, PixelFormat.Format32bppArgb)
Using g As Graphics = Graphics.FromImage(bmp)
g.CopyFromScreen(r1.Left, r1.Top, 0, 0, r1.Size, CopyPixelOperation.SourceCopy)
End Using

bmp.Save(pictureName)
proc.CloseMainWindow()
proc.Close()
Messages postés
14
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
2 juillet 2010

merci de ton aide. je pensai pouvoir me débrouiller avec sa mais j'ai un problème pour recuperer ma fenêtre que je ne comprend pas.

f = Form.FromHandle(CaptureScreen.GetWindow(CaptureScreen.FindWindow(vbNullString, "StarUML"), 0))
le méthode getWindow n'est peut être pas la plus adapté mais je n'en ai pas trouvé d'autre.
f reste null et je ne sais pas pourquoi. ma fenêtre StarUML est réduit dans ma barre des taches et je peu faire un closeWindow dessus si je la restaure.
je n'arrive pas non plus a faire de showWindow dessus pour la restaurer

si tu a une idée je suis preneur sinon si tu peu juste m'indiquer une voie vers ou chercher sa devrait me suffire
Afficher les 17 commentaires