Print Screen i VB 6.0

Tags:    visual-basic

Hey

Kan man i VB 6 lave en PrintScreen kommando, så den tager et billede af HELE skærmen, og gemmer den i Udklipsholderen eller en picturebox/imagebox??


Håber nogen kan hjælpe mig!




1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
<quote>Hey

Kan man i VB 6 lave en PrintScreen kommando, så den tager et billede af HELE skærmen, og gemmer den i Udklipsholderen eller en picturebox/imagebox??


Håber nogen kan hjælpe mig!
</quote>

Ja man kan. Her er der et eksempel på, hvorledes du kan kopiere hele skærmen til en form (HUSK at sætte <b>AutoRedraw</b> egenskaben for formen til <b>True</b>. Ellers virker skidtet ikke.

<pre>
Option Explicit

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 GetDC Lib "user32" (ByVal hwnd As Long) As Long

Const SRCCOPY = &HCC0020
Const SRCAND = &H8800C6
Const SRCINVERT = &H660046


Private Sub Form_Load()

Dim DeskhWnd As Long
Dim DeskDC As Long

DeskhWnd& = GetDesktopWindow()
DeskDC& = GetDC(DeskhWnd&)
BitBlt Form1.hDC, 0&, 0&, Screen.Width, Screen.Height, DeskDC&, 0&, 0&, SRCCOPY

End Sub
</pre>

<br>
Du kan også bruge en picture box istedet for formen's <b>hDC</b>.



t