www.pudn.com > windowsrunning > fmrProperty.frm
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmProperty
BorderStyle = 1 'Fixed Single
Caption = "Window Properties"
ClientHeight = 4845
ClientLeft = 45
ClientTop = 330
ClientWidth = 7725
Icon = "fmrProperty.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 323
ScaleMode = 3 'Pixel
ScaleWidth = 515
StartUpPosition = 3 'Windows Default
Begin VB.Frame frameTabs
Caption = "Specific Window Information"
Height = 3525
Index = 1
Left = 120
TabIndex = 31
Top = 120
Width = 7395
Begin VB.TextBox txtCaption
BackColor = &H00C0C0C0&
Height = 315
Left = 4260
Locked = -1 'True
TabIndex = 57
Top = 240
Width = 3015
End
Begin VB.ListBox lstExtWinStyle
Height = 1425
Left = 3780
TabIndex = 47
Top = 1980
Width = 3495
End
Begin VB.ListBox lstWinStyle
Height = 1425
Left = 120
TabIndex = 46
Top = 1980
Width = 3495
End
Begin VB.TextBox txtExtWinStyle
BackColor = &H00C0C0C0&
Height = 315
Left = 5640
Locked = -1 'True
TabIndex = 45
Top = 1560
Width = 1635
End
Begin VB.TextBox txtWinStyle
BackColor = &H00C0C0C0&
Height = 315
Left = 1320
Locked = -1 'True
TabIndex = 44
Top = 1560
Width = 2295
End
Begin VB.TextBox txtInstance
BackColor = &H00C0C0C0&
Height = 315
Left = 1560
Locked = -1 'True
TabIndex = 43
Top = 960
Width = 1215
End
Begin VB.TextBox txtControlID
BackColor = &H00C0C0C0&
Height = 315
Left = 4260
Locked = -1 'True
TabIndex = 42
Top = 960
Width = 1215
End
Begin VB.TextBox txtUserData
BackColor = &H00C0C0C0&
Height = 315
Left = 1560
Locked = -1 'True
TabIndex = 41
Top = 600
Width = 1215
End
Begin VB.TextBox txtwndProc
BackColor = &H00C0C0C0&
Height = 315
Left = 4260
Locked = -1 'True
TabIndex = 40
Top = 600
Width = 1215
End
Begin VB.TextBox txtSpechWnd
BackColor = &H00C0C0C0&
Height = 315
Left = 1560
Locked = -1 'True
TabIndex = 39
Top = 240
Width = 1215
End
Begin VB.Label lblCaption
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window Caption:"
Height = 195
Left = 2940
TabIndex = 56
Top = 300
Width = 1215
End
Begin VB.Label lblExtWinStyle
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window Extended Style:"
Height = 195
Left = 3780
TabIndex = 38
Top = 1620
Width = 1740
End
Begin VB.Label lblWinStyle
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window Style:"
Height = 195
Left = 120
TabIndex = 37
Top = 1620
Width = 1020
End
Begin VB.Label lblUserData
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "User Data:"
Height = 195
Left = 240
TabIndex = 36
Top = 660
Width = 765
End
Begin VB.Label lblControlID
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Control ID:"
Height = 195
Left = 2880
TabIndex = 35
Top = 1020
Width = 750
End
Begin VB.Label lblInstance
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Instance Handle:"
Height = 195
Left = 240
TabIndex = 34
Top = 1020
Width = 1215
End
Begin VB.Label lblWinProc
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window Proc:"
Height = 195
Left = 2940
TabIndex = 33
Top = 660
Width = 1005
End
Begin VB.Label lblWinSpechWnd
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window Handle:"
Height = 195
Left = 240
TabIndex = 32
Top = 300
Width = 1185
End
End
Begin VB.Frame frameTabs
Caption = "General Windows Information"
Height = 3525
Index = 0
Left = 120
TabIndex = 3
Top = 120
Width = 7395
Begin VB.CommandButton cmdParent
Caption = "Parent Window"
Height = 375
Left = 3660
TabIndex = 55
Top = 3060
Width = 1695
End
Begin VB.TextBox txtMenu
BackColor = &H00C0C0C0&
Height = 315
Left = 5160
Locked = -1 'True
TabIndex = 53
Top = 2040
Width = 2115
End
Begin VB.CommandButton cmdNext
Caption = "Owner Window"
Height = 375
Index = 4
Left = 1920
TabIndex = 52
Top = 3060
Width = 1695
End
Begin VB.CommandButton cmdNext
Caption = "Child Window"
Height = 375
Index = 5
Left = 180
TabIndex = 51
Top = 3060
Width = 1695
End
Begin VB.CommandButton cmdNext
Caption = "Previous Window"
Height = 375
Index = 3
Left = 1920
TabIndex = 50
Top = 2640
Width = 1695
End
Begin VB.CommandButton cmdNext
Caption = "Next Window"
Height = 375
Index = 2
Left = 180
TabIndex = 49
Top = 2640
Width = 1695
End
Begin VB.CheckBox chkOnTop
Enabled = 0 'False
Height = 315
Left = 3900
TabIndex = 29
Top = 2640
Width = 255
End
Begin VB.TextBox txtWindRect
BackColor = &H00C0C0C0&
Height = 315
Index = 0
Left = 5160
Locked = -1 'True
TabIndex = 26
Top = 1680
Width = 1035
End
Begin VB.TextBox txtClientRect
BackColor = &H00C0C0C0&
Height = 315
Index = 0
Left = 5160
Locked = -1 'True
TabIndex = 25
Top = 1320
Width = 1035
End
Begin VB.TextBox txtClientRect
BackColor = &H00C0C0C0&
Height = 315
Index = 1
Left = 6240
Locked = -1 'True
TabIndex = 24
Top = 1320
Width = 1035
End
Begin VB.TextBox txtWindRect
BackColor = &H00C0C0C0&
Height = 315
Index = 1
Left = 6240
Locked = -1 'True
TabIndex = 23
Top = 1680
Width = 1035
End
Begin VB.CommandButton cmdShowSpace
Caption = "&Show Window Area"
Height = 375
Left = 5640
TabIndex = 21
Top = 3060
Width = 1695
End
Begin VB.TextBox txthWnd
BackColor = &H00C0C0C0&
Height = 315
Left = 1560
Locked = -1 'True
TabIndex = 11
Top = 240
Width = 2055
End
Begin VB.TextBox txtClass
BackColor = &H00C0C0C0&
Height = 315
Left = 1560
Locked = -1 'True
TabIndex = 10
Top = 600
Width = 2055
End
Begin VB.ListBox lstHeirachy
Height = 1230
Left = 180
TabIndex = 9
Top = 1320
Width = 3435
End
Begin VB.TextBox txtThreadID
BackColor = &H00C0C0C0&
Height = 315
Left = 5160
Locked = -1 'True
TabIndex = 8
Top = 240
Width = 2115
End
Begin VB.TextBox txtProcessID
BackColor = &H00C0C0C0&
Height = 315
Left = 5160
Locked = -1 'True
TabIndex = 7
Top = 600
Width = 2115
End
Begin VB.TextBox txtProcessName
BackColor = &H00C0C0C0&
Height = 315
Left = 5160
Locked = -1 'True
TabIndex = 6
Top = 960
Width = 2115
End
Begin VB.CheckBox chkEnabled
Enabled = 0 'False
Height = 315
Left = 5160
TabIndex = 5
Top = 2340
Width = 315
End
Begin VB.CheckBox chkVisible
Enabled = 0 'False
Height = 315
Left = 3900
TabIndex = 4
Top = 2340
Width = 255
End
Begin VB.Label lblMenu
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Menu Handle:"
Height = 195
Left = 3900
TabIndex = 54
Top = 2100
Width = 1005
End
Begin VB.Label lblWndPos
AutoSize = -1 'True
Caption = "Window is: Normal"
Height = 195
Left = 5160
TabIndex = 48
Top = 2700
Width = 1320
End
Begin VB.Label lblOnTop
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Is On Top"
Height = 195
Left = 4200
TabIndex = 30
Top = 2700
Width = 705
End
Begin VB.Label lblClientRect
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Client Rect:"
Height = 195
Left = 3900
TabIndex = 28
Top = 1380
Width = 825
End
Begin VB.Label lblWindRect
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window Rect:"
Height = 195
Left = 3900
TabIndex = 27
Top = 1740
Width = 1020
End
Begin VB.Label lblhWnd
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window's hWnd:"
Height = 195
Left = 120
TabIndex = 19
Top = 300
Width = 1215
End
Begin VB.Label lblClass
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window's Class:"
Height = 195
Left = 180
TabIndex = 18
Top = 660
Width = 1155
End
Begin VB.Label lblHeirachy
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window Heirachy: (hWnd, Class)"
Height = 195
Left = 180
TabIndex = 17
Top = 1020
Width = 2340
End
Begin VB.Label lblThreadID
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Thread ID:"
Height = 195
Left = 3900
TabIndex = 16
Top = 300
Width = 765
End
Begin VB.Label lblProcessID
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Process ID:"
Height = 195
Left = 3900
TabIndex = 15
Top = 660
Width = 825
End
Begin VB.Label lblProcessName
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Process Name:"
Height = 195
Left = 3900
TabIndex = 14
Top = 1020
Width = 1080
End
Begin VB.Label lblVisible
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Is Visible"
Height = 195
Left = 4200
TabIndex = 13
Top = 2400
Width = 615
End
Begin VB.Label lblEnabled
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Is Enabled"
Height = 195
Left = 5460
TabIndex = 12
Top = 2400
Width = 750
End
End
Begin VB.Frame frameTabs
Caption = "Class Information"
Height = 3525
Index = 2
Left = 120
TabIndex = 20
Top = 120
Width = 7395
Begin VB.PictureBox picCIcon
AutoRedraw = -1 'True
BorderStyle = 0 'None
Height = 675
Left = 4500
ScaleHeight = 45
ScaleMode = 3 'Pixel
ScaleWidth = 49
TabIndex = 79
Top = 1560
Width = 735
End
Begin VB.ListBox lstCStyles
Height = 840
Left = 3960
TabIndex = 78
Top = 600
Width = 3195
End
Begin VB.TextBox txtCBrush
BackColor = &H00C0C0C0&
Height = 285
Left = 1560
Locked = -1 'True
TabIndex = 76
Top = 2700
Width = 2235
End
Begin VB.TextBox txtCCursor
BackColor = &H00C0C0C0&
Height = 285
Left = 1560
Locked = -1 'True
TabIndex = 74
Top = 2400
Width = 2235
End
Begin VB.TextBox txtCSIcon
BackColor = &H00C0C0C0&
Height = 285
Left = 1560
Locked = -1 'True
TabIndex = 72
Top = 2100
Width = 2235
End
Begin VB.TextBox txtCIcon
BackColor = &H00C0C0C0&
Height = 285
Left = 1560
Locked = -1 'True
TabIndex = 70
Top = 1800
Width = 2235
End
Begin VB.TextBox txtCStyle
BackColor = &H00C0C0C0&
Height = 285
Left = 4920
Locked = -1 'True
TabIndex = 68
Top = 240
Width = 2235
End
Begin VB.TextBox txtCInst
BackColor = &H00C0C0C0&
Height = 285
Left = 1560
Locked = -1 'True
TabIndex = 66
Top = 1500
Width = 2235
End
Begin VB.TextBox txtCWinBytes
BackColor = &H00C0C0C0&
Height = 285
Left = 1560
Locked = -1 'True
TabIndex = 64
Top = 1200
Width = 2235
End
Begin VB.TextBox txtCBytes
BackColor = &H00C0C0C0&
Height = 285
Left = 1560
Locked = -1 'True
TabIndex = 62
Top = 900
Width = 2235
End
Begin VB.TextBox txtCWndProc
BackColor = &H00C0C0C0&
Height = 285
Left = 1560
Locked = -1 'True
TabIndex = 60
Top = 600
Width = 2235
End
Begin VB.TextBox txtClassName
BackColor = &H00C0C0C0&
Height = 285
Left = 1560
Locked = -1 'True
TabIndex = 59
Top = 300
Width = 2235
End
Begin VB.Label lblGetIcon
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Icon:"
Height = 195
Left = 4020
TabIndex = 80
Top = 1680
Width = 360
End
Begin VB.Label lblCSIcon
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Small Icon Handle:"
Height = 195
Left = 180
TabIndex = 77
Top = 2160
Width = 1335
End
Begin VB.Label lblCBrush
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Background Brush:"
Height = 195
Left = 180
TabIndex = 75
Top = 2760
Width = 1365
End
Begin VB.Label lblCCursor
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Cursor Handle:"
Height = 195
Left = 180
TabIndex = 73
Top = 2460
Width = 1050
End
Begin VB.Label lblCIcon
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Icon Handle:"
Height = 195
Left = 180
TabIndex = 71
Top = 1860
Width = 915
End
Begin VB.Label lblCStyle
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Class Style:"
Height = 195
Left = 3960
TabIndex = 69
Top = 300
Width = 810
End
Begin VB.Label lblCInst
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Instance Handle:"
Height = 195
Left = 180
TabIndex = 67
Top = 1560
Width = 1215
End
Begin VB.Label lblCWinBytes
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Window Bytes:"
Height = 195
Left = 180
TabIndex = 65
Top = 1260
Width = 1065
End
Begin VB.Label lblCBytes
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Class Bytes:"
Height = 195
Left = 180
TabIndex = 63
Top = 960
Width = 855
End
Begin VB.Label lblCWNDPROC
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Class WNDPROC:"
Height = 195
Left = 180
TabIndex = 61
Top = 660
Width = 1320
End
Begin VB.Label lblClassName
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Class Name:"
Height = 195
Left = 180
TabIndex = 58
Top = 360
Width = 885
End
End
Begin VB.CommandButton cmdRefresh
Caption = "&Refresh"
Height = 555
Left = 720
TabIndex = 22
Top = 4200
Width = 2235
End
Begin VB.CommandButton cmdNexts
Caption = "&Next --->"
Height = 555
Left = 5400
TabIndex = 1
Top = 4200
Width = 2235
End
Begin VB.CommandButton cmdBack
Caption = "<-- &Back"
Height = 555
Left = 3060
TabIndex = 0
Top = 4200
Width = 2235
End
Begin MSComctlLib.TabStrip Tabs
Height = 3915
Left = 120
TabIndex = 2
Top = 120
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 = "frmProperty"
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
'
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal hIcon As Long) As Long
Private myLookHwnd As Long
Private CurrentTab
Private Sub cmdBack_Click()
'Me.Hide
frmSelect.Show
frmSelect.WindowState = 0
'frmSelect.cmdEnum.Value = True
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 cmdNexts_Click()
'Me.Hide
frmEdit.LookHwnd = Me.LookHwnd
frmEdit.DoStuph
End Sub
Private Sub cmdParent_Click()
Dim Worker As Enumerator
Set Worker = New Enumerator
Dim TemphWnd As Long
TemphWnd = Worker.ParentWind(LookHwnd)
If TemphWnd = &H0 Then
MsgBox "No related window found.", vbInformation, "Windowit"
Else
LookHwnd = TemphWnd
End If
End Sub
Private Sub cmdRefresh_Click()
ClearAll
End Sub
Private Sub cmdShowSpace_Click()
Dim Temp As String
Me.Enabled = False
Temp = Me.Caption
Me.Caption = Me.Caption & " Press ESC to return"
frmShowWind.DoStuph LookHwnd
Me.Caption = Temp
Me.Enabled = True
End Sub
Private Sub Form_Load()
Dim i As Integer
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
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
End Sub
Private Sub lstHeirachy_DblClick()
LookHwnd = Me.lstHeirachy.ItemData(Me.lstHeirachy.ListIndex)
frmEdit.LookHwnd = Me.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
frmEdit.LookHwnd = myLookHwnd
End Property
Private Sub ClearAll()
Dim Enumit As Enumerator
Set Enumit = New Enumerator
Dim Temp As Long
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))
.txtCaption.Text = Enumit.GetWindText(.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
' 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.txtWindRect(1).Text = Trim(Str(.Right - .Left)) & " x " & Trim(Str(.Bottom - .Top))
End With
Dim OldParent As Long
Dim Parent As Long
Parent = Me.LookHwnd
Do While Parent
Me.lstHeirachy.AddItem Hex(Parent) & ", " & Enumit.ClassName(Parent)
Me.lstHeirachy.ItemData(Me.lstHeirachy.NewIndex) = Parent
OldParent = Parent
Parent = Enumit.ParentWind(OldParent)
Loop
Me.txtMenu.Text = ""
Select Case Enumit.WindPos(Me.LookHwnd)
Case Is = EnumPos.Normal
Me.lblWndPos.Caption = "Window is Normal/Restored."
Case Is = EnumPos.Maximized
Me.lblWndPos.Caption = "Window is Maximized."
Case Is = EnumPos.Minimized
Me.lblWndPos.Caption = "Window is Minimized."
End Select
With Me
.txtControlID.Text = Enumit.GetControlID(LookHwnd)
.txtInstance.Text = Enumit.Format8(Enumit.GetHandleInstance(LookHwnd))
.txtSpechWnd.Text = Enumit.Format8(LookHwnd)
.txtUserData.Text = Enumit.Format8(Enumit.GetUserData(LookHwnd))
.txtExtWinStyle.Text = Enumit.Format8(Enumit.ExtStyleVal(LookHwnd))
.txtwndProc.Text = Enumit.Format8(Enumit.GetWndProc(LookHwnd))
.txtWinStyle.Text = Enumit.Format8(Enumit.StyleVal(LookHwnd))
.lstExtWinStyle.Clear
.lstWinStyle.Clear
End With
Call DoStyles
Call DoExtStyles
txtMenu.Text = Trim(Str(Enumit.MenuHandle(LookHwnd)))
txtClassName.Text = Enumit.ClassName(LookHwnd)
txtCBytes.Text = Enumit.GetClassExtraBytes(LookHwnd)
txtCWinBytes.Text = Enumit.GetClassExtraWndBytes(LookHwnd)
txtCWndProc.Text = Enumit.Format8(Enumit.GetClassWndProc(LookHwnd))
txtCStyle.Text = Enumit.Format8(Enumit.GetClassStyle(LookHwnd))
txtCInst.Text = Enumit.Format8(Enumit.GetClassHModule(LookHwnd))
Temp = Enumit.GetClasshBackgroundBrush(LookHwnd)
Select Case Temp
Case Is = 0
txtCBrush.Text = "(None), 0, or COLOR_SCROLLBAR"
Case Is = modConst.COLOR_ACTIVEBORDER
txtCBrush.Text = "COLOR_ACTIVEBORDER"
Case Is = modConst.COLOR_BACKGROUND
txtCBrush.Text = "COLOR_BACKGROUND"
Case Is = modConst.COLOR_ACTIVECAPTION
txtCBrush.Text = "COLOR_ACTIVECAPTION"
Case Is = modConst.COLOR_INACTIVECAPTION
txtCBrush.Text = "COLOR_INACTIVECAPTION"
Case Is = modConst.COLOR_MENU
txtCBrush.Text = "COLOR_MENU"
Case Is = modConst.COLOR_WINDOW
txtCBrush.Text = "COLOR_WINDOW"
Case Is = modConst.COLOR_WINDOWFRAME
txtCBrush.Text = "COLOR_WINDOWFRAME"
Case Is = modConst.COLOR_MENUTEXT
txtCBrush.Text = "COLOR_MENUTEXT"
Case Is = modConst.COLOR_WINDOWTEXT
txtCBrush.Text = "COLOR_WINDOWTEXT"
Case Is = modConst.COLOR_CAPTIONTEXT
txtCBrush.Text = "COLOR_CAPTIONTEXT"
Case Is = modConst.COLOR_ACTIVEBORDER
txtCBrush.Text = "COLOR_ACTIVEBORDER"
Case Is = modConst.COLOR_INACTIVEBORDER
txtCBrush.Text = "COLOR_INACTIVEBORDER"
Case Is = modConst.COLOR_APPWORKSPACE
txtCBrush.Text = "COLOR_APPWORKSPACE"
Case Is = modConst.COLOR_HIGHLIGHT
txtCBrush.Text = "COLOR_HIGHLIGHT"
Case Is = modConst.COLOR_HIGHLIGHTTEXT
txtCBrush.Text = "COLOR_HIGHLIGHTTEXT"
Case Is = modConst.COLOR_BTNFACE
txtCBrush.Text = "COLOR_BTNFACE"
Case Is = modConst.COLOR_BTNSHADOW
txtCBrush.Text = "COLOR_BTNSHADOW"
Case Is = modConst.COLOR_GRAYTEXT
txtCBrush.Text = "COLOR_GRAYTEXT"
Case Is = modConst.COLOR_BTNTEXT
txtCBrush.Text = "COLOR_BTNTEXT"
Case Is = modConst.COLOR_INACTIVECAPTIONTEXT
txtCBrush.Text = "COLOR_INACTIVECAPTIONTEXT"
Case Is = modConst.COLOR_BTNHIGHLIGHT
txtCBrush.Text = "COLOR_BTNHIGHLIGHT"
Case Else
txtCBrush.Text = Enumit.Format8(Temp)
End Select
Temp = Enumit.GetClassHCursor(LookHwnd)
Select Case Temp
Case Is = CursorID.IDC_APPSTARTING
txtCCursor.Text = "IDC_APPSTARTING"
Case Is = CursorID.IDC_ARROW
txtCCursor.Text = "IDC_ARROW"
Case Is = CursorID.IDC_CROSS
txtCCursor.Text = "IDC_CROSS"
Case Is = CursorID.IDC_IBEAM
txtCCursor.Text = "IDC_IBEAM"
Case Is = CursorID.IDC_ICON
txtCCursor.Text = "IDC_ICON"
Case Is = CursorID.IDC_NO
txtCCursor.Text = "IDC_NO"
Case Is = CursorID.IDC_SIZE
txtCCursor.Text = "IDC_SIZE"
Case Is = CursorID.IDC_SIZEALL
txtCCursor.Text = "IDC_SIZEALL"
Case Is = CursorID.IDC_SIZENESW
txtCCursor.Text = "IDC_SIZENESW"
Case Is = CursorID.IDC_SIZENS
txtCCursor.Text = "IDC_SIZENS"
Case Is = CursorID.IDC_SIZENWSE
txtCCursor.Text = "IDC_SIZENWSE"
Case Is = CursorID.IDC_SIZEWE
txtCCursor.Text = "IDC_SIZEWE"
Case Is = CursorID.IDC_UPARROW
txtCCursor.Text = "IDC_UPARROW"
Case Is = CursorID.IDC_WAIT
txtCCursor.Text = "IDC_WAIT"
Case Is = 0
txtCCursor.Text = "(None)"
Case Else
txtCCursor.Text = Enumit.Format8(Temp)
End Select
txtCIcon.Text = Enumit.Format8(Enumit.GetClassHIcon(LookHwnd))
If Val(txtCIcon.Text) = 0 Then txtCIcon.Text = "(None)"
txtCSIcon.Text = Enumit.Format8(Enumit.GetClasshSmallIcon(LookHwnd))
If Val(txtCSIcon.Text) = 0 Then txtCSIcon.Text = "(None)"
Me.picCIcon.Width = 32 * Screen.TwipsPerPixelX
Me.picCIcon.Height = 32 * Screen.TwipsPerPixelY
Me.picCIcon.BorderStyle = 0
Me.picCIcon.Picture = LoadPicture("")
If Enumit.GetClassHIcon(LookHwnd) <> 0 Then
' Draw a copy of the icon on the piccy box =)
DrawIcon Me.picCIcon.hdc, 0, 0, Enumit.GetClassHIcon(LookHwnd)
Me.picCIcon.Refresh
End If
End Sub
Private Sub DoStyles()
Dim Enumit As New Enumerator
Dim TempStyle As Long
' Get the style values, but only the hi-order bytes (Window styles)
TempStyle = modConst.RemLoBytes(Enumit.StyleVal(LookHwnd))
On Error Resume Next
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' Now run through and eliminate all of the styles ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
If Enumit.IsStyle(TempStyle, modConst.WS_POPUPWINDOW) Then
Me.lstWinStyle.AddItem "WS_POPUPWINDOW"
TempStyle = TempStyle - modConst.WS_POPUPWINDOW
End If
If Enumit.IsStyle(TempStyle, modConst.WS_OVERLAPPEDWINDOW) Then
Me.lstWinStyle.AddItem "WS_OVERLAPPEDWINDOW"
TempStyle = TempStyle - modConst.WS_OVERLAPPEDWINDOW
End If
If Enumit.IsStyle(TempStyle, modConst.WS_CAPTION) Then
Me.lstWinStyle.AddItem "WS_CAPTION"
TempStyle = TempStyle - modConst.WS_CAPTION
End If
If Enumit.IsStyle(TempStyle, modConst.WS_OVERLAPPED) Then
Me.lstWinStyle.AddItem "WS_OVERLAPPED"
TempStyle = TempStyle - modConst.WS_OVERLAPPED
End If
If Enumit.IsStyle(TempStyle, modConst.WS_POPUP) Then
Me.lstWinStyle.AddItem "WS_POPUP"
TempStyle = TempStyle - modConst.WS_POPUP
End If
If Enumit.IsStyle(TempStyle, modConst.WS_CHILD) Then
Me.lstWinStyle.AddItem "WS_CHILDWINDOW"
TempStyle = TempStyle - modConst.WS_CHILD
End If
If Enumit.IsStyle(TempStyle, modConst.WS_MINIMIZE) Then
Me.lstWinStyle.AddItem "WS_MINIMIZE"
TempStyle = TempStyle - modConst.WS_MINIMIZE
End If
If Enumit.IsStyle(TempStyle, modConst.WS_VISIBLE) Then
Me.lstWinStyle.AddItem "WS_VISIBLE"
TempStyle = TempStyle - modConst.WS_VISIBLE
End If
If Enumit.IsStyle(TempStyle, modConst.WS_DISABLED) Then
Me.lstWinStyle.AddItem "WS_DISABLED"
TempStyle = TempStyle - modConst.WS_DISABLED
End If
If Enumit.IsStyle(TempStyle, modConst.WS_CLIPSIBLINGS) Then
Me.lstWinStyle.AddItem "WS_CLIPSIBLINGS"
TempStyle = TempStyle - modConst.WS_CLIPSIBLINGS
End If
If Enumit.IsStyle(TempStyle, modConst.WS_CLIPCHILDREN) Then
Me.lstWinStyle.AddItem "WS_CLIPCHILDREN"
TempStyle = TempStyle - modConst.WS_CLIPCHILDREN
End If
If Enumit.IsStyle(TempStyle, modConst.WS_MAXIMIZE) Then
Me.lstWinStyle.AddItem "WS_MAXIMIZE"
TempStyle = TempStyle - modConst.WS_MAXIMIZE
End If
If Enumit.IsStyle(TempStyle, modConst.WS_BORDER) Then
Me.lstWinStyle.AddItem "WS_BORDER"
TempStyle = TempStyle - modConst.WS_BORDER
End If
If Enumit.IsStyle(TempStyle, modConst.WS_DLGFRAME) Then
Me.lstWinStyle.AddItem "WS_DLGFRAME"
TempStyle = TempStyle - modConst.WS_DLGFRAME
End If
If Enumit.IsStyle(TempStyle, modConst.WS_THICKFRAME) Then
Me.lstWinStyle.AddItem "WS_THICKFRAME"
TempStyle = TempStyle - modConst.WS_THICKFRAME
End If
If Enumit.IsStyle(TempStyle, modConst.WS_GROUP) Then
Me.lstWinStyle.AddItem "WS_GROUP"
TempStyle = TempStyle - modConst.WS_GROUP
End If
If Enumit.IsStyle(TempStyle, modConst.WS_TABSTOP) Then
Me.lstWinStyle.AddItem "WS_TABSTOP"
TempStyle = TempStyle - modConst.WS_TABSTOP
End If
If Enumit.IsStyle(TempStyle, modConst.WS_SYSMENU) Then
Me.lstWinStyle.AddItem "WS_SYSMENU"
TempStyle = TempStyle - modConst.WS_SYSMENU
End If
If Enumit.IsStyle(TempStyle, modConst.WS_VSCROLL) Then
Me.lstWinStyle.AddItem "WS_VSCROLL"
TempStyle = TempStyle - modConst.WS_VSCROLL
End If
If Enumit.IsStyle(TempStyle, modConst.WS_HSCROLL) Then
Me.lstWinStyle.AddItem "WS_HSCROLL"
TempStyle = TempStyle - modConst.WS_HSCROLL
End If
If TempStyle <> 0 Then Me.lstWinStyle.AddItem Enumit.Format8(TempStyle)
If Err Then
MsgBox "Error caught in DoStyles, enumerating extended window styles. Windowit is unaffected by this error, and will continue to run Please report the next line to Jolyon_B@Hotmail.Com so that this stupid bug can be fixed." & vbCrLf & _
"DoStyles " & Err.Number & " " & Err.Description & " " & Erl & " " & TempStyle & " " & Enumit.StyleVal(LookHwnd), vbCritical, "Error"
End If
End Sub
Private Sub DoExtStyles()
Dim Enumit As New Enumerator
Dim TempStyle As Long
TempStyle = Enumit.ExtStyleVal(LookHwnd)
On Error Resume Next
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' Now run through and eliminate all of the extended styles ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
If Enumit.IsStyle(TempStyle, modConst.WS_EX_OVERLAPPEDWINDOW) Then
Me.lstExtWinStyle.AddItem "WS_EX_OVERLAPPEDWINDOW"
TempStyle = TempStyle - modConst.WS_EX_OVERLAPPEDWINDOW
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_PALETTEWINDOW) Then
Me.lstExtWinStyle.AddItem "WS_EX_PALETTEWINDOW"
TempStyle = TempStyle - modConst.WS_EX_PALETTEWINDOW
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_DLGMODALFRAME) Then
Me.lstExtWinStyle.AddItem "WS_EX_DLGMODALFRAME"
TempStyle = TempStyle - modConst.WS_EX_DLGMODALFRAME
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_NOPARENTNOTIFY) Then
Me.lstExtWinStyle.AddItem "WS_EX_NOPARENTNOTIFY"
TempStyle = TempStyle - modConst.WS_EX_NOPARENTNOTIFY
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_TOPMOST) Then
Me.lstExtWinStyle.AddItem "WS_EX_TOPMOST"
TempStyle = TempStyle - modConst.WS_EX_TOPMOST
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_ACCEPTFILES) Then
Me.lstExtWinStyle.AddItem "WS_EX_ACCEPTFILES"
TempStyle = TempStyle - modConst.WS_EX_ACCEPTFILES
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_TRANSPARENT) Then
Me.lstExtWinStyle.AddItem "WS_EX_TRANSPARENT"
TempStyle = TempStyle - modConst.WS_EX_TRANSPARENT
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_MDICHILD) Then
Me.lstExtWinStyle.AddItem "WS_EX_MDICHILD"
TempStyle = TempStyle - modConst.WS_EX_MDICHILD
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_TOOLWINDOW) Then
Me.lstExtWinStyle.AddItem "WS_EX_TOOLWINDOW"
TempStyle = TempStyle - modConst.WS_EX_TOOLWINDOW
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_WINDOWEDGE) Then
Me.lstExtWinStyle.AddItem "WS_EX_WINDOWEDGE"
TempStyle = TempStyle - modConst.WS_EX_WINDOWEDGE
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_CLIENTEDGE) Then
Me.lstExtWinStyle.AddItem "WS_EX_CLIENTEDGE"
TempStyle = TempStyle - modConst.WS_EX_CLIENTEDGE
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_CONTEXTHELP) Then
Me.lstExtWinStyle.AddItem "WS_EX_CONTEXTHELP"
TempStyle = TempStyle - modConst.WS_EX_CONTEXTHELP
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_RIGHT) Then
Me.lstExtWinStyle.AddItem "WS_EX_RIGHT"
TempStyle = TempStyle - modConst.WS_EX_RIGHT
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_LEFT) Then
Me.lstExtWinStyle.AddItem "WS_EX_LEFT"
TempStyle = TempStyle - modConst.WS_EX_LEFT
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_RTLREADING) Then
Me.lstExtWinStyle.AddItem "WS_EX_RTLREADING"
TempStyle = TempStyle - modConst.WS_EX_RTLREADING
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_LTRREADING) Then
Me.lstExtWinStyle.AddItem "WS_EX_LTRREADING"
TempStyle = TempStyle - modConst.WS_EX_LTRREADING
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_LEFTSCROLLBAR) Then
Me.lstExtWinStyle.AddItem "WS_EX_LEFTSCROLLBAR"
TempStyle = TempStyle - modConst.WS_EX_LEFTSCROLLBAR
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_RIGHTSCROLLBAR) Then
Me.lstExtWinStyle.AddItem "WS_EX_RIGHTSCROLLBAR"
TempStyle = TempStyle - modConst.WS_EX_RIGHTSCROLLBAR
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_CONTROLPARENT) Then
Me.lstExtWinStyle.AddItem "WS_EX_CONTROLPARENT"
TempStyle = TempStyle - modConst.WS_EX_CONTROLPARENT
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_STATICEDGE) Then
Me.lstExtWinStyle.AddItem "WS_EX_STATICEDGE"
TempStyle = TempStyle - modConst.WS_EX_STATICEDGE
End If
If Enumit.IsStyle(TempStyle, modConst.WS_EX_APPWINDOW) Then
Me.lstExtWinStyle.AddItem "WS_EX_APPWINDOW"
TempStyle = TempStyle - modConst.WS_EX_APPWINDOW
End If
If TempStyle <> 0 Then Me.lstExtWinStyle.AddItem Enumit.Format8(TempStyle)
If Err Then
MsgBox "Error caught in DoExtStyles, enumerating extended window styles. Windowit is unaffected by this error, and will continue to run Please report the next line to Jolyon_B@Hotmail.Com so that this stupid bug can be fixed." & vbCrLf & _
"DoExtStyles " & Err.Number & " " & Err.Description & " " & Erl & " " & TempStyle & " " & Enumit.ExtStyleVal(LookHwnd), vbCritical, "Error"
End If
End Sub