⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmedit.frm

📁 Windows超级黑客得到windows运行程序的信息,很经典的
💻 FRM
📖 第 1 页 / 共 4 页
字号:
         AutoSize        =   -1  'True
         BackStyle       =   0  'Transparent
         Caption         =   "Send Message:"
         Height          =   195
         Left            =   180
         TabIndex        =   74
         Top             =   840
         Width           =   1110
      End
      Begin VB.Label lblIsEdit 
         AutoSize        =   -1  'True
         Caption         =   $"frmEdit.frx":03A4
         Height          =   390
         Left            =   180
         TabIndex        =   64
         Top             =   300
         Width           =   7125
         WordWrap        =   -1  'True
      End
   End
   Begin VB.CommandButton cmdBack 
      Caption         =   "<-- &Back"
      Height          =   555
      Left            =   3000
      TabIndex        =   22
      Top             =   4140
      Width           =   2235
   End
   Begin VB.CommandButton cmdRefresh 
      Caption         =   "&Refresh Properties"
      Height          =   555
      Left            =   660
      TabIndex        =   21
      Top             =   4140
      Width           =   2235
   End
   Begin MSComctlLib.TabStrip Tabs 
      Height          =   3915
      Left            =   60
      TabIndex        =   23
      Top             =   60
      Width           =   7515
      _ExtentX        =   13256
      _ExtentY        =   6906
      TabMinWidth     =   1058
      _Version        =   393216
      BeginProperty Tabs {1EFB6598-857C-11D1-B16A-00C0F0283628} 
         NumTabs         =   1
         BeginProperty Tab1 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
            ImageVarType    =   2
         EndProperty
      EndProperty
   End
End
Attribute VB_Name = "frmEdit"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'
'  I have been to great troubles to learn all of the techniques in this program.
'  I have spent many, many hours and late nights coding the many functions which I
'  have included. As much as I resent it, Planet Source Code requires that I put
'  the source code in the zip file. So I have placed it in here for you to view.
'  Please use it wisely. And give me credit for all of the hard work that I have
'  done. My biggest fear is that somebody will do an almost straight rip of this
'  code, and take the credit for themselves. Please do not let this happening. I'm
'  placing a lot of trust there. So please, use this program, use this code, and
'  give me credit for it. If anybody rips all my routines, then my secret spy's
'  (and I have a lot of them, as soon as I hire them) will tell me, and I'll get
'  into my private jet (as soon as I buy it) and track you down over the whole
'  world and eventually KILL YOU. You get the idea? Thanks. Read on for something
'  a little more interesting!
'
' Code is Copyright Jolyon Bloomfield, February 2000
'

Public EditMessage As MessagesCol

Private myLookHwnd As Long
Private CurrentTab
Private Clearing As Boolean

Private Sub chkEnabled_Click()
If Clearing = True Then Exit Sub
Dim Worker As Enumerator
Set Worker = New Enumerator
Worker.SetEnabled LookHwnd, CBool(Me.chkEnabled.Value)
End Sub

Private Sub chkOnTop_Click()
If Clearing = True Then Exit Sub
Dim Worker As Enumerator
Set Worker = New Enumerator
Worker.SetOntop LookHwnd, CBool(Me.chkOnTop.Value)
End Sub

Private Sub chkVisible_Click()
If Clearing = True Then Exit Sub
Dim Worker As Enumerator
Set Worker = New Enumerator
Worker.SetVisible LookHwnd, CBool(Me.chkVisible.Value)
End Sub

Private Sub cmboEM_Click()
On Error Resume Next
Me.txtEditInfo.Text = EditMessage(cmboEM.List(cmboEM.ListIndex)).Desc
End Sub

Private Sub cmdBack_Click()

'Me.Hide
frmProperty.LookHwnd = Me.LookHwnd
frmProperty.Show
frmProperty.WindowState = 0
'frmSelect.cmdEnum.Value = True

End Sub

Private Sub cmdBringTop_Click()
Dim Enumit As New Enumerator
Enumit.ForeGround LookHwnd
Enumit.BringToTop LookHwnd
End Sub

Private Sub cmdFlash_Click()

Static Flashing As Boolean
If Flashing = False Then
  Flashing = True
  cmdFlash.Caption = "Stop Flashing"
  TimerFlash.Enabled = True
Else
  Flashing = False
  cmdFlash.Caption = "Flash"
  TimerFlash.Enabled = False
  Dim Enumit As Enumerator
  Set Enumit = New Enumerator
  Enumit.Flash LookHwnd, False
End If

End Sub

Private Sub cmdFore_Click()
Dim Enumit As Enumerator
Set Enumit = New Enumerator
Enumit.ForeGround LookHwnd
End Sub

Private Sub cmdGetEditStyle_Click()
DoEditStyles
End Sub

Private Sub cmdHelp_Click()
MsgBox "The placement of the window can be rather confusing, especially as there are 5 different pairs of numbers to think about." & vbCrLf & _
    "The Window Rect co-ordinates refer to the window's current position on the screen, in screen co-ordinates." & vbCrLf & _
    "The Client Rect co-ordinates refer to the window's current client area, and are given in reference to the whole window's area." & vbCrLf & _
    "The Parent Window co-ordinates refer to the parent's current window co-ordinates, in reference to the screen." & vbCrLf & _
    "The Parent Client Rect refers to the parent's CLIENT Co-ordinates, in reference to the parent's window co-ordinates." & vbCrLf & _
    "The Window/Client co-ordinates refer to the window's position, and are given in reference to it's parent's client area. This is the most important one, as it shows the current position of the window in the co-ordinates that you input to change them." & vbCrLf & _
    "The Absolute Parent Client Rect co-ordinates refer to the Screen (X, Y) position that is (0, 0) for setting the current window's (X, Y) position. I know it sounds rather complicated, and it is. Think about the difficulties that I had programming it...", vbInformation, "Co-ordinate systems"
End Sub

Private Sub cmdHelpWM_Click()
MsgBox "This pane provides functionality to many messages with the ""WM_"" prefix, and also a few that aren't nessescarily messages (i.e., functions). To say what each and every message does is beyond the scope of this help screen. To find out what they all do, use the MSDN library, or search for them on the internet.", vbInformation, "Help"
End Sub

Private Sub cmdNext_Click(Index As Integer)
Dim Worker As Enumerator
Set Worker = New Enumerator
Dim TemphWnd As Long
TemphWnd = Worker.GetRelWindow(LookHwnd, Index)
If TemphWnd = &H0 Then
MsgBox "No related window found.", vbInformation, "Windowit"
Else
LookHwnd = TemphWnd
End If
End Sub

Private Sub cmdRedraw_Click()
Dim Enumit As New Enumerator
Enumit.ForceRedraw Me.LookHwnd
End Sub

Private Sub cmdRefresh_Click()
ClearAll
End Sub

Private Sub cmdSetFocus_Click()
Dim Enumit As Enumerator
Set Enumit = New Enumerator
Enumit.FocusWind LookHwnd
End Sub

Private Sub cmdSendBack_Click()
Dim Enumit As New Enumerator
Enumit.ForeGround LookHwnd
Enumit.SendToBottom LookHwnd
End Sub

Private Sub cmdSendEditMsg_Click()
modEditMessages.SendEditMessage Me.txtEditReturnVal, Me.cmboEM.ItemData(Me.cmboEM.ListIndex), Me.txtEditWParam, Me.txtEditLParam, Me.LookHwnd
End Sub

Private Sub cmdSetPArent_Click()
Dim Worker As Enumerator
Set Worker = New Enumerator
If MsgBox("WARNING! This is an EXTREMELY DANGEROUS COMMAND, and should only be used if you KNOW WHAT YOU ARE DOING. Do you wish to proceed?", vbCritical Or vbYesNo, "WARNING!") = vbYes Then
  Worker.SetParent LookHwnd, Val("&H" & txtParent.Text)
End If
End Sub

Private Sub cmdSetPos_Click()

If cmboWndPos.ListIndex = -1 Then Exit Sub

Dim Worker As Enumerator
Set Worker = New Enumerator
Worker.SetWindPos LookHwnd, cmboWndPos.ListIndex

End Sub

Private Sub cmdSetText_Click()
Dim Enumit As New Enumerator
Enumit.SetWindText LookHwnd, Me.txtWindowCaption.Text
End Sub

Private Sub cmdSize_Click()
If Not IsNumeric(Me.txtWindPos(0).Text) Or Not IsNumeric(Me.txtWindPos(1).Text) Or Not IsNumeric(Me.txtWndSize(0).Text) Or Not IsNumeric(Me.txtWndSize(1).Text) Then
  MsgBox "Please enter numeric data", vbInformation, "Change Size and Position"
  Exit Sub
End If
Dim Worker As Enumerator
Set Worker = New Enumerator
Worker.SetWinSizePos LookHwnd, Val(txtWindPos(0).Text), Val(txtWindPos(1).Text), Val(txtWndSize(0).Text), Val(txtWndSize(1).Text)
Worker.ForeGround LookHwnd
End Sub

Private Sub cmdWmClose_Click()
Dim Enumit As New Enumerator
Enumit.TerminateWind LookHwnd
End Sub

Private Sub Form_Load()

Dim i As Integer

Me.cmboWndPos.AddItem "1. Normal"
Me.cmboWndPos.AddItem "2. Maximised"
Me.cmboWndPos.AddItem "3. Minimised"

Tabs.Tabs.Clear

For i = 0 To frameTabs.Count - 1
  Tabs.Tabs.Add i + 1, , frameTabs(i).Caption
Next i

For i = 0 To frameTabs.Count - 1
  With frameTabs(i)
    .Move Tabs.ClientLeft, Tabs.ClientTop, Tabs.ClientWidth, Tabs.ClientHeight
    .Visible = False
    .BorderStyle = 0
  End With
Next i

' Make Tab 1 active and its Frame visible.
CurrentTab = 1
Set Tabs.SelectedItem = Tabs.Tabs(CurrentTab)
frameTabs(CurrentTab - 1).Visible = True
frameTabs(CurrentTab - 1).ZOrder

InitEditMsg

ClearAll

End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim i As Form
For Each i In Forms
  If i.Name = "frmMouseSelect" Then
    Unload i
  ElseIf i.Visible = False Then
    Unload i
  End If
Next i

Set EditMessage = Nothing

End Sub

Private Sub mcdGetWindText_Click()
Dim Enumit As New Enumerator
Me.txtWindowCaption.Text = Enumit.GetWindText(LookHwnd)
End Sub

Private Sub Tabs_Click()

If Tabs.SelectedItem.Index = CurrentTab Then Exit Sub

Dim i As Integer
For i = 0 To frameTabs.Count - 1
  frameTabs(i).Visible = False
Next i

frameTabs(Tabs.SelectedItem.Index - 1).Visible = True
frameTabs(Tabs.SelectedItem.Index - 1).ZOrder
CurrentTab = Tabs.SelectedItem.Index

End Sub

Public Property Get LookHwnd() As Long
LookHwnd = myLookHwnd
End Property

Public Property Let LookHwnd(ByVal vNewValue As Long)
Dim Worker As Enumerator
Set Worker = New Enumerator
If Worker.IsValidWindow(vNewValue) = False Then Exit Property
If myLookHwnd = vNewValue Then Exit Property
myLookHwnd = vNewValue
ClearAll
frmProperty.LookHwnd = myLookHwnd
End Property

Private Sub ClearAll()

Clearing = True
Dim Enumit As Enumerator
Set Enumit = New Enumerator

With Me
  .txthWnd = Hex(.LookHwnd)
  .txtClass = Enumit.ClassName(.LookHwnd)
  .lstHeirachy.Clear
  .txtThreadID.Text = Hex(Enumit.WindThread(.LookHwnd))
  .txtProcessID.Text = Hex(Enumit.WindProcess(.LookHwnd))
  .txtProcessName.Text = Enumit.ProcessName(Enumit.WindProcess(.LookHwnd))
  .chkEnabled.Value = Abs(Enumit.IsEnabled(.LookHwnd))
  .chkVisible.Value = Abs(Enumit.IsVisible(.LookHwnd))
  .chkOnTop.Value = Abs(Enumit.IsOnTop(.LookHwnd))
End With

Dim Use As RECT
Dim Ender As RECT
Dim Pointer As POINTAPI
Dim WorkerText As String
Dim XIncrement As Long
Dim YIncrement As Long

' Get the Client Rectangles
Use = modConst.GetClientRects(LookHwnd)
Ender = modConst.GetWindowRects(LookHwnd)
With Use
  ' Sort out the correct Client co-ordiantes, according to the parent.
  Pointer.X = Use.Left
  Pointer.Y = Use.Top
  Pointer = modConst.ClientToScreen(LookHwnd, Pointer)
  XIncrement = Pointer.X - Ender.Left
  YIncrement = Pointer.Y - Ender.Top
  WorkerText = "(" & Trim(Str(.Left + XIncrement)) & ", " & Trim(Str(.Top + YIncrement)) & ")-(" & Trim(Str(.Right + XIncrement)) & ", " & Trim(Str(.Bottom + YIncrement)) & ")"
  ' Display them
  Me.txtClientRect(0).Text = WorkerText
  Me.txtCliRect = Me.txtClientRect(0).Text
  ' The client Size
  Me.txtClientRect(1).Text = Trim(Str(.Right - .Left)) & " x " & Trim(Str(.Bottom - .Top))
End With

' Put the Window Rectangle Co-ordinates in the text boxes
Use = modConst.GetWindowRects(LookHwnd)
With Use
  Me.txtWindRect(0).Text = "(" & Trim(Str(.Left)) & ", " & Trim(Str(.Top)) & ")-(" & Trim(Str(.Right)) & ", " & Trim(Str(.Bottom)) & ")"
  Me.txtWindRec = Me.txtWindRect(0).Text

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -