PDA

View Full Version : حرفه ای: اين كد چرا اررور ميده ؟ عكس گرفتن از دسكتاپ و ذخيره در درايو



hasht.rood
شنبه 12 آذر 1390, 02:11 صبح
سلام دوستان اين سورس رو ببينيد اشكالش كجاست ؟
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 GetDC Lib "ser32? (ByVal hwnd As Long) As Long" ()

Private Const SRCCOPY = &HCC0020 ‘ (DWORD) dest = source
Private Sub Form_Load()
Me.Hide
End Sub

Private Sub Timer1_Timer()
Dim H_Dc As Long
H_Dc = GetDC(0)
Me.Cls
Me.AutoRedraw = True
Me.WindowState = vbMaximized
BitBlt Me.hDC, 0, 0, Screen.Width, Screen.Height, H_Dc, 0, 0, SRCCOPY
SavePicture Me.Image, "C:Scr1.Bmp"
End Sub

ميخوام از دسكتاپ عكس بگيره و در درايو c ذخيره كنه
با تشكر

sr2m72
یک شنبه 13 آذر 1390, 12:07 عصر
سلام دوستان اين سورس رو ببينيد اشكالش كجاست ؟

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

Private Const SRCCOPY = &HCC0020 ‘ (DWORD) dest = source
Private Sub Form_Load()
Me.Hide
End Sub

Private Sub Timer1_Timer()
Dim H_Dc As Long
H_Dc = GetDC(0)
Me.Cls
Me.AutoRedraw = True
Me.WindowState = vbMaximized
BitBlt Me.hDC, 0, 0, Screen.Width, Screen.Height, H_Dc, 0, 0, SRCCOPY
SavePicture Me.Image, "C:Scr1.Bmp"
End Subميخوام از دسكتاپ عكس بگيره و در درايو c ذخيره كنه
با تشكر

اینو امتحان کن.
اررور نمیده.


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
Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source

Private Sub Form_Load()
Dim wnd As Long, dc As Long
Me.AutoRedraw = True
wnd = GetDesktopWindow
dc = GetDC(wnd)
BitBlt Me.hDC, 0, 0, Screen.Width / 15, Screen.Height / 15, dc, 0, 0, SRCCOPY
SavePicture Me.Image, "C:\Scr1.Bmp"
Unload Me
End Sub