Guten Abend,
ich hab mich nach einer langen Pause mal wieder ans Programmieren gemacht und hab direkt einen Fehler den ich nicht beheben kannst.
Ich will, wenn einer die Druck-Taste drück das Bild aus der Zwischenablage in eine Imagebox laden. Das abfragen der Druck-Taste und das abfragen der Zwischenablage klappt soweit nur bekomm ich den Handle der Bitmap nicht in die Imagebox geladen.
Vielen Dank
ich hab mich nach einer langen Pause mal wieder ans Programmieren gemacht und hab direkt einen Fehler den ich nicht beheben kannst.
Ich will, wenn einer die Druck-Taste drück das Bild aus der Zwischenablage in eine Imagebox laden. Das abfragen der Druck-Taste und das abfragen der Zwischenablage klappt soweit nur bekomm ich den Handle der Bitmap nicht in die Imagebox geladen.
Code:
Public Class Form1
Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal nVirtKey As Keys) As Short
Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Integer) As Integer
Declare Function CloseClipboard Lib "user32" () As Long
Declare Function GetClipboardData Lib "user32" ( _
ByVal wFormat As Integer) As Integer
' BitBlt dwRop-Konstante
Const SRCCOPY = &HCC0020
' Zwischenablage-Format-Konstanten
Const CF_BITMAP = 2 ' Das Objekt in der Zwischenablage ist ein Handle
' eines Bitmaps
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim hBitmap As Integer
If GetAsyncKeyState(44) = -32767 Then
erfolg.Text = "Screenshot erstellt!"
' Zwischenablage öffnen
OpenClipboard(Me.Handle)
MsgBox(GetClipboardData(2))
' Bitmap dem Bildfeld zuweisen
hBitmap = GetClipboardData(CF_BITMAP)
hBitmap = New IntPtr(hBitmap)
PictureBox1.Image.FromHbitmap(hBitmap)
PictureBox1.Refresh()
' Zwischenablage schließen
CloseClipboard()
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Timer1.Start()
End Sub
End Class
Vielen Dank