Klik hier om in te loggen
Je bent momenteel niet ingelogd
Topic Screenshot nemen? dinsdag 1 januari 2008 om 20:17
Carharttguy
Administrator
46 posts
Hoowj,

Weet iemand hoe ik een screenshot trek met vb? Smiley
zodat ik die dan in een picturebox kan weergeven enzo.? Smiley

alvast bedankt!
Reageer Quote dit bericht Bewerken Privé bericht zendendinsdag 1 januari 2008 om 20:17
RoelVB
Webmaster
108 posts
Ik heb hier een halve oplossing...

Code:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
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 ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
Dim x As Integer, y As Integer, SrcWidth As Integer, SrcHeight As Integer
Dim hSrcDC As Long, hDestDC As Long

Private Sub Command1_Click()
x = 0
y = 0
SrcWidth = Screen.Width
SrcHeight = Screen.Height
xSrc = 0
ySrc = 0
hDestDC = Picture1.hdc
hSrcDC = GetDC(0)

Picture1.Width = SrcWidth
Picture1.Height = SrcHeight
DoEvents 'Anders wordt screenshot geplakt voordat Picturebox grootte klopt

Call BitBlt(hDestDC, x, y, SrcWidth, SrcHeight, hSrcDC, xSrc, ySrc, &HCC0020)
Call ReleaseDC(0, hSrcDC)

SavePicture Picture1.Image, "C:\\test.bmp"
End Sub

ik heb hiervoor een Picturebox met de naam Picture1 en een commandbutton met de naam command1 gebruikt

Alleen om één of andere reden werkt de SavePicture niet goed, er wordt een grijs vlak opgeslagen

De variable:
Code
1
2
3
4
5
6
7
8
x = x postie waar de screenshot in de picturebox komt
y = y postie waar de screenshot in de picturebox komt
SrcWidth = breedte van de screenshot
SrcHeight = hoogte van de screenshot
xSrc = x start positie van de screenshot
ySrc = y start positie van de screenshot
hDestDC = DC van de picturebox
hSrcDC = DC van het item waar de screenshot van gemaakt moet worden (0 = alles)
Reageer Quote dit bericht Bewerken Privé bericht zendenwoensdag 2 januari 2008 om 14:03
Carharttguy
Administrator
46 posts
Bedankt!

De savepicture functie is niet zo belangrijk =p ik ging hem niet gewoon opslaan ^^

hartelijk dank^^
Reageer Quote dit bericht Bewerken Privé bericht zendenwoensdag 2 januari 2008 om 16:39