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
<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>.