當前位置:編程學習大全網 - 編程語言 - 用vb編程,捕捉屏幕,同時連同鼠標也捕捉上.

用vb編程,捕捉屏幕,同時連同鼠標也捕捉上.

Begin VB.Form Form1

Caption = "Form1"

ClientHeight = 3195

ClientLeft = 60

ClientTop = 345

ClientWidth = 4680

LinkTopic = "Form1"

ScaleHeight = 3195

ScaleWidth = 4680

StartUpPosition = 3 'Windows Default

End

Attribute VB_Name = "Form1"

Attribute VB_GlobalNameSpace = False

Attribute VB_Creatable = False

Attribute VB_PredeclaredId = True

Attribute VB_Exposed = False

Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRECT As RECT) As Long

Private Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, lpRECT As RECT) As Long

Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long

Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

Private Declare Function ScreenToClient Lib "user32" (ByVal hWnd As Long, lpPoint As POINTAPI) As Long

Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Const RGN_AND = 1

Const RGN_COPY = 5

Const RGN_DIFF = 4

Const RGN_OR = 2

Const RGN_XOR = 3

Private Type POINTAPI

x As Long

Y As Long

End Type

Private Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

Sub DataSamp()

Dim ad As Database

Dim aserch As QueryDef

End Sub

Public Sub MakeTransparent(frm As Form)

Dim rctClient As RECT, rctFrame As RECT

Dim hClient As Long, hFrame As Long

'獲得窗口矩形區域

GetWindowRect frm.hWnd, rctFrame

GetClientRect frm.hWnd, rctClient

'將窗口矩形坐標轉換為屏幕坐標

Dim lpTL As POINTAPI, lpBR As POINTAPI

lpTL.x = rctFrame.Left

lpTL.Y = rctFrame.Top

lpBR.x = rctFrame.Right

lpBR.Y = rctFrame.Bottom

ScreenToClient frm.hWnd, lpTL

ScreenToClient frm.hWnd, lpBR

rctFrame.Left = lpTL.x

rctFrame.Top = lpTL.Y

rctFrame.Right = lpBR.x

rctFrame.Bottom = lpBR.Y

rctClient.Left = Abs(rctFrame.Left)

rctClient.Top = Abs(rctFrame.Top)

rctClient.Right = rctClient.Right + Abs(rctFrame.Left)

rctClient.Bottom = rctClient.Bottom + Abs(rctFrame.Top)

rctFrame.Right = rctFrame.Right + Abs(rctFrame.Left)

rctFrame.Bottom = rctFrame.Bottom + Abs(rctFrame.Top)

rctFrame.Top = 0

rctFrame.Left = 0

hClient = CreateRectRgn(rctClient.Left, rctClient.Top, rctClient.Right, rctClient.Bottom)

hFrame = CreateRectRgn(rctFrame.Left, rctFrame.Top, rctFrame.Right, rctFrame.Bottom)

CombineRgn hFrame, hClient, hFrame, RGN_XOR

SetWindowRgn frm.hWnd, hFrame, True

End Sub

Private Sub Form_Click()

MakeTransparent Me

End Sub

  • 上一篇:python之time模塊
  • 下一篇:請問:什麽兒童思維課比較好?
  • copyright 2024編程學習大全網