vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Screenshot ohne Zwischenablage 
Autor: BugMe
Datum: 07.06.09 20:07

Hallo zusammen,

ich versuche gerade ein kleines Programm zu schreiben das ein Screenshot macht ohne dabei die Zwischenablage zu verwenden.

Ich hab folgendes ergoogelt:

Private Declare Function BitBlt Lib "gdi32" _
  (ByVal hDCDest As Long, ByVal XDest As Long, _
   ByVal YDest As Long, ByVal nWidth As Long, _
   ByVal nHeight As Long, ByVal hDCSrc As Long, _
   ByVal XSrc As Long, ByVal YSrc As Long, _
   ByVal dwRop As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindowDC Lib "user32" _
  (ByVal hWnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" _
  (ByVal hWnd As Long, ByVal hdc As Long) As Long
Private Sub Command1_Click()
 
  PrintScreen
 
End Sub
Private Sub PrintScreen()
   Dim hWndDesk As Long
   Dim hDCDesk As Long
   Dim LeftDesk As Long
   Dim TopDesk As Long
   Dim WidthDesk As Long
   Dim HeightDesk As Long
 
  'define the screen coordinates (upper
  'corner (0,0) and lower corner (Width, Height)
   LeftDesk = 0
   TopDesk = 0
   WidthDesk = "1600"
   HeightDesk = "1200"
 
  'get the desktop handle and display context
   hWndDesk = GetDesktopWindow()
   hDCDesk = GetWindowDC(hWndDesk)
 
  'copy the desktop to the picture box
   Call BitBlt(Picture1.hdc, 0, 0, _
              WidthDesk, HeightDesk, hDCDesk, _
              LeftDesk, TopDesk, vbSrcCopy)
 
   Call ReleaseDC(hWndDesk, hDCDesk)
End Sub
    Private Sub Button1_Click()
      'speichern
     SavePicture Picture1.Image, "c:\temp.bmp"
    End Sub
Das klappt auch sehr gut, wenn ich auf den Button drücke wird der screen angezeigt.
So ich will des ganz jetzt auch speichern ( am besten als JPG ... ) ich hab SavePicture Picture1.Image, "c:\temp.bmp" versucht aber des geht nicht er speichert nur den grauen Hintergrund.

Kann mir jemand helfen? Es ist auch ok wenn er das Screen direkt speichert ohne Anzuzeigen...


Danke im Voraus!
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Screenshot ohne Zwischenablage1.217BugMe07.06.09 20:07
Re: Screenshot ohne Zwischenablage746fin08.06.09 08:27

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel