تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كلاس التقاط النافذة النشطة
#1
اضف كلاس جديد وضع التالي ضمنه
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 IntPtrByRef 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(foregroundWindowsHandlerect)
 
           bounds = New Rectangle(rect.Leftrect.Toprect.Right rect.Leftrect.Bottom rect.Top)
 
           CursorPosition = New Point(Cursor.Position.rect.LeftCursor.Position.rect.Top)
 
       End If

 
       Dim result = New Bitmap(bounds.Widthbounds.Height)

 
       Using g Graphics.FromImage(result)
 
           g.CopyFromScreen(New Point(bounds.Leftbounds.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(fileImageFormat.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 
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: أبو نوره , sendbad100 , sendbad100 , سعود الشامان


الردود في هذا الموضوع
كلاس التقاط النافذة النشطة - بواسطة سعود - 11-08-17, 04:00 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كلاس بسيط لطباعة صورة الفورم silverlight 2 3,113 23-03-17, 03:22 PM
آخر رد: abdualla

التنقل السريع :


يقوم بقرائة الموضوع: