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