[VB6/VB.Net] Screenshot maken van verborgen form

Pagina: 1
Acties:
  • 177 views sinds 30-01-2008
  • Reageer

  • looskuh
  • Registratie: Februari 2000
  • Laatst online: 07-12-2024
Ik wil eigenlijk hetzelfde als in deze topic werd gevraagd: [rml][ vb] BitBlt van verborgen app.[/rml]

Destijds was .NET alleen nog niet zo in, daarom vraag ik het nog maar een keer.

Wat ik dus wil is een screenshot maken van een website, maar deze website liever niet laten zien. Ik heb het al prima voor elkaar gekregen met BitBlt, maar dan moet het form zichtbaar zijn, anders werkt het niet. Ik wil het programma lekker op de achtergrond kunnen laten werken.

Ik weet dat het kan. Dit programma kan het namelijk gewoon: http://www.rabidsoft.net/capture_it_1.0_demo.zip

Hoe doen ze dit? Ik heb met Spy++ geprobeerd achter wat informatie te komen. En het lijkt dat ze wat functies uit de .NET GDI+ library gebruiken. Kan dit kloppen, en in welke hoek moet ik het dan zoeken?

Het zou te gek zijn als iemand me kon helpen!

Verwijderd

misschien gewoon de source lezen van het html bestand, en dit dan zelf renderen binnen je applicatie? Moet denk ik niet zo moeilijk zijn. Je kan gewoon de browser control gebruiken.

  • looskuh
  • Registratie: Februari 2000
  • Laatst online: 07-12-2024
En hoe is dit anders dan het gewoon laten zien in je browser control?

Verwijderd

door hidden velden zelf zichtbaar te maken? Zodra je de source pakt kan je hier zelf toch dingen in aanpassen en er uit halen wat je nodig hebt.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 10-08 13:52

pjvandesande

GC.Collect(head);

Je kunt zelf toch als je de HTML output hebt een plaatje renderen? Een browser control is niet nodig, je kunt zelf wat renderen.

Zoek is naar een opensource browser control en kijk is naar het render process. Alleen dit process heb je nodig en deze moet je poorten naar een image output.

Je kan een hoop sarneren omdat je geen contols nodig hebt, zoals input contols e.d, maar alleen het uiterlijke plaatje wilt.

  • looskuh
  • Registratie: Februari 2000
  • Laatst online: 07-12-2024
Ik heb gezocht naar zo'n opensource browser object, maar niet gevonden. Bovendien lijkt het me een veel te moeilijke oplossing voor een, mijns inziens, toch eenvoudiger probleem. Het is een beetje alsof je door de sneeuw wilt gaan rijden, en je dan geadviseerd wordt een nieuwe motor te kopen, ipv sneeuwkettingen.

Ik heb flink rondgezocht en kwam uiteindelijk bij het alternatief met WM_PRINT uit. Als je dit bericht naar je window stuurt wordt er een screenshot gemaakt, ook al is het window niet te zien!

Maaar, om de eoa reden is nu mijn webbrowser object leeg! Hoe kan dit nu weer, en hoe los ik het op?

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 10-08 13:52

pjvandesande

GC.Collect(head);

looskuh schreef op 30 september 2004 @ 22:59:
Maaar, om de eoa reden is nu mijn webbrowser object leeg! Hoe kan dit nu weer, en hoe los ik het op?
Hoe bedoel je leeg? Ik denk dat de layout niet gerendert word als het niet zichtbaar is. Daarom adviceerde ik ook om het zelf te renderen.

[ Voor 62% gewijzigd door pjvandesande op 01-10-2004 07:01 ]


  • looskuh
  • Registratie: Februari 2000
  • Laatst online: 07-12-2024
Op dat moment was het venster wél zichtbaar, vreemd genoeg. De rest van het form was wel te zien op de screenshot.

Ik wil het graag proberen, dat zelf renderen, maar ik zou niet weten waar te beginnen als ik niet de source van zo'n webbrowser kan vinden. (Die dan ook nog eens te begrijpen is voor iemand wiens C++ kennis niet verder gaat dan een basiscursus.)

Een ander groot probleem is dat dingen als Flash-animaties ook absoluut in beeld moeten kunnen worden gebracht, zelfs nog (door gebruik te maken van een delay) op een bepaald punt in het filmpje. Volgens mij lukt dit niet als ik de pagina zelf render.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 10-08 13:52

pjvandesande

GC.Collect(head);

looskuh schreef op 01 oktober 2004 @ 14:08:
Een ander groot probleem is dat dingen als Flash-animaties ook absoluut in beeld moeten kunnen worden gebracht, zelfs nog (door gebruik te maken van een delay) op een bepaald punt in het filmpje. Volgens mij lukt dit niet als ik de pagina zelf render.
Dit moet wel lukken, maar word een stuk lastiger. Het zou ook in VB.NET moeten kunnen, maar gemakkelijk zou dit niet gaan. Is er geen makkelijkere oplossing voor, moet het perse met Flash en HTML?
Pagina: 1