11-08-17, 04:00 AM
اضف كلاس جديد وضع التالي ضمنه
والتالي كلاس الفورم
PHP كود :
Imports System.Runtime.InteropServices
Public Class ScreenCapturer
<DllImport("user32.dll")> _
Private Shared Function GetForegroundWindow() As IntPtr
End Function
<DllImport("user32.dll")> _
Private Shared Function GetWindowRect(hWnd As IntPtr, ByRef rect As Rect) As IntPtr
End Function
<StructLayout(LayoutKind.Sequential)> _
Private Structure Rect
Public Left As Integer
Public Top As Integer
Public Right As Integer
Public Bottom As Integer
End Structure
Public Function Capture(Optional activeWindowOnly As Boolean = True) As Bitmap
Dim bounds As Rectangle
If Not activeWindowOnly Then
bounds = Screen.GetBounds(Point.Empty)
CursorPosition = Cursor.Position
Else
Dim foregroundWindowsHandle = GetForegroundWindow()
Dim rect = New Rect()
GetWindowRect(foregroundWindowsHandle, rect)
bounds = New Rectangle(rect.Left, rect.Top, rect.Right - rect.Left, rect.Bottom - rect.Top)
CursorPosition = New Point(Cursor.Position.X - rect.Left, Cursor.Position.Y - rect.Top)
End If
Dim result = New Bitmap(bounds.Width, bounds.Height)
Using g = Graphics.FromImage(result)
g.CopyFromScreen(New Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size)
End Using
Return result
End Function
Public Property CursorPosition() As Point
End Class
PHP كود :
Imports System.Drawing.Imaging
Public Class Form1
Dim a As Integer = 0
Public Sub ScreenCopy(Optional file As String = "test.jpg")
Dim sc = New ScreenCapturer()
Using bitmap = sc.Capture()
bitmap.Save(file, ImageFormat.Jpeg)
Process.Start(file) ' for test purposes
End Using
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Me.Hide()
ScreenCopy(a & ".jpg")
Me.Show()
a += 1
End Sub
End Class