| |
Visual-Basic EinsteigerRe: Versuch eines Snapshots | | | Autor: Zardoz | Datum: 13.05.15 14:25 |
| Hallo LesPaul,
setz' mal ein Clipboard.Clear an den Anfang des Codes. Es kann sein, dass es
mit den neueren Betriebssystemen Probleme bei der Simulation von Tastendrücken
gibt. Alternative ist das Kopieren des Desktops mit BitBlt.
Gruss,
Zardoz | |
Versuch eines Snapshots | | | Autor: LesPaul | Datum: 13.05.15 13:59 |
| moin Forum,
verwende diesen Tipp:
http://www.vbarchiv.net/tipps/tipp_997-bildschirm-fensterinhalt-als-bild-speichern.html
mein Problem:
auf dem Entwicklungsrechner (2000) keine Probleme
auf meinem Testrechner (WIN 7 - Programm mit InstallShield installiert) gibt mir diese Funktion beim ersten Aufruf nach Neustart des Programms eine Fehlermeldung: "380 - ungültiger Eigenschaftwert", das Bild wird nicht gespeichert.
Da ich den Fehler abfange kann ich die Funktion ein zweites Mal ausführen, dann funktioniert es, das gleiche wenn ich die Funktion ein drittes, viertes ... Mal aufrufe.
Da ich nicht mehr weiß wo ich suchen muss hoffe ich auf eure Hilfe, Danke
Gruß, LesPaul | |
Re: Versuch eines Snapshots | | | Autor: LesPaul | Datum: 13.05.15 14:45 |
| Hallo Zardoz
Vielen Dank für die schnelle Antwort!
hat leider nicht funktioniert keine Änderung, werde mir BitBlt anschauen, brauche allerdings die Form bzw. alles was da drauf ist.
Gruß, LesPaul | |
Re: Versuch eines Snapshots | | | Autor: Zardoz | Datum: 13.05.15 14:59 |
| Hallo LesPaul,
LesPaul schrieb:
Zitat: | | werde mir BitBlt anschauen, brauche allerdings
die Form bzw. alles was da drauf ist. | |
Bei BitBlt wird alles kopiert. Hier ein Beispiel:
Controls: Picturebox, Button
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As _
Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal _
hSrcDC 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 ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc _
As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Sub Command1_Click()
Dim SW&, SH&, Dat1$, DeskHwnd&, DeskHdc&
Dat1 = App.Path & "\Snapshot.bmp"
If Dir$(Dat1) <> "" Then Kill Dat1
Me.ScaleMode = vbPixels
SW = Screen.Width / Screen.TwipsPerPixelX
SH = Screen.Height / Screen.TwipsPerPixelY
DeskHwnd = GetDesktopWindow
DeskHdc = GetDC(DeskHwnd)
With Picture1
.Visible = False
.BorderStyle = vbBSNone
.AutoRedraw = True
.Cls
.Move 0, 0, SW, SH
Call BitBlt(.hdc, 0, 0, SW, SH, DeskHdc, 0, 0, vbSrcCopy)
SavePicture .Image, Dat1
.Cls
.AutoRedraw = False
End With
Call ReleaseDC(DeskHwnd, DeskHdc)
MsgBox "Bildpfad:" & vbCr & Dat1, vbInformation + vbOKOnly
End Sub Gruss,
Zardoz | |
Re: Versuch eines Snapshots | | | Autor: LesPaul | Datum: 13.05.15 16:01 |
| Hallo Zardoz,
danke, getestet und funktioniert, aber leider der ganze Bildschirm,
werde weiter suchen ...
Gruß, LesPaul | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere Infos
|