Public Const LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54
Public Const LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55
Public Const LVM_GETHEADER = (LVM_FIRST + 31)
Public Const LVS_EX_FULLROWSELECT = &H20
Public Const LVS_EX_GRIDLINES = &H1
Public Const LVS_EX_HEADERDRAGDROP = &H10
Public Const LVS_EX_TRACKSELECT = &H8
Public Const LVS_EX_ONECLICKACTIVATE = &H40
Public Const LVS_EX_TWOCLICKACTIVATE = &H80
' Straight port to Win32. The old GWW and GCW constants are gone
Public Const GWL_WNDPROC = (-4)
Public Const GWL_HINSTANCE As Long = (-6)
Public Const GWL_HWNDPARENT = (-8)
Public Const GWL_STYLE = (-16)
Public Const GWL_EXSTYLE = (-20)
Public Const GWL_USERDATA = (-21)
Public Const GWL_ID = (-12)
Public Const GCL_MENUNAME = (-8)
Public Const GCL_HBRBACKGROUND = (-10)
Public Const GCL_HCURSOR = (-12)
Public Const GCL_HICON = (-14)
Public Const GCL_HMODULE = (-16)
Public Const GCL_CBWNDEXTRA As Long = -18&
Public Const GCL_CBCLSEXTRA As Long = -20&
Public Const GCL_STYLE As Long = -26&
Public Const GCL_WNDPROC = (-24)
Public Const GCW_ATOM = (-32)
' Style constants
Public Const WS_OVERLAPPED As Long = &H0&
Public Const WS_TABSTOP As Long = &H10000
Public Const WS_MAXIMIZEBOX As Long = &H10000
Public Const WS_GROUP As Long = &H20000
Public Const WS_MINIMIZEBOX As Long = &H20000
Public Const WS_THICKFRAME As Long = &H40000
Public Const WS_SYSMENU As Long = &H80000
Public Const WS_HSCROLL As Long = &H100000
Public Const WS_VSCROLL As Long = &H200000
Public Const WS_DLGFRAME As Long = &H400000
Public Const WS_BORDER As Long = &H800000
Public Const WS_CAPTION As Long = &HC00000 ' WS_BORDER Or WS_DLGFRAME
Public Const WS_MAXIMIZE As Long = &H1000000
Public Const WS_CLIPCHILDREN As Long = &H2000000
Public Const WS_CLIPSIBLINGS As Long = &H4000000
Public Const WS_DISABLED As Long = &H8000000
Public Const WS_VISIBLE As Long = &H10000000
Public Const WS_MINIMIZE As Long = &H20000000
Public Const WS_CHILD As Long = &H40000000
Public Const WS_POPUP As Long = &H80000000
Public Const CS_VREDRAW As Long = &H1&
Public Const CS_HREDRAW As Long = &H2&
Public Const CS_KEYCVTWINDOW As Long = &H4&
Public Const CS_DBLCLKS As Long = &H8&
Public Const CS_OWNDC As Long = &H20&
Public Const CS_CLASSDC As Long = &H40&
Public Const CS_PARENTDC As Long = &H80&
Public Const CS_NOKEYCVT As Long = &H100&
Public Const CS_NOCLOSE As Long = &H200&
Public Const CS_SAVEBITS As Long = &H800&
Public Const CS_BYTEALIGNCLIENT As Long = &H1000&
Public Const CS_BYTEALIGNWINDOW As Long = &H2000&
Public Const CS_PUBLICCLASS As Long = &H4000&
Public Const GW_HWNDFIRST = 0
Public Const GW_HWNDLAST = 1
Public Const GW_HWNDNEXT As Long = 2&
Public Const GW_HWNDPREV = 3
Public Const GW_OWNER = 4
Public Const GW_CHILD As Long = 5&
Public Const GW_MAX = 5
Public Const ES_LEFT = &H0&
Public Const ES_CENTER = &H1&
Public Const ES_RIGHT = &H2&
Public Const ES_MULTILINE = &H4&
Public Const ES_UPPERCASE = &H8&
Public Const ES_LOWERCASE = &H10&
Public Const ES_PASSWORD = &H20&
Public Const ES_AUTOVSCROLL = &H40&
Public Const ES_AUTOHSCROLL = &H80&
Public Const ES_NOHIDESEL = &H100&
Public Const ES_OEMCONVERT = &H400&
Public Const ES_READONLY = &H800&
Public Const ES_WANTRETURN = &H1000&
Public Const BS_PUSHBUTTON = &H0&
Public Const BS_DEFPUSHBUTTON = &H1&
Public Const BS_CHECKBOX = &H2&
Public Const BS_AUTOCHECKBOX = &H3&
Public Const BS_RADIOBUTTON = &H4&
Public Const BS_3STATE = &H5&
Public Const BS_AUTO3STATE = &H6&
Public Const BS_GROUPBOX = &H7&
Public Const BS_USERBUTTON = &H8&
Public Const BS_AUTORADIOBUTTON = &H9&
Public Const BS_OWNERDRAW = &HB&
Public Const BS_LEFTTEXT = &H20&
' New button styles for Windows 95
Public Const BS_TEXT = 0&
Public Const BS_ICON = &H40&
Public Const BS_BITMAP = &H80&
Public Const BS_LEFT = &H100&
Public Const BS_RIGHT = &H200&
Public Const BS_CENTER = &H300&
Public Const BS_TOP = &H400&
Public Const BS_BOTTOM = &H800&
Public Const BS_VCENTER = &HC00&
Public Const BS_PUSHLIKE = &H1000&
Public Const BS_MULTILINE = &H2000&
Public Const BS_NOTIFY = &H4000&
Public Const BS_FLAT = &H8000&
Public Const BS_RIGHTBUTTON = &H20&
Public Const SS_LEFT = &H0&
Public Const SS_CENTER = &H1&
Public Const SS_RIGHT = &H2&
Public Const SS_ICON = &H3&
Public Const SS_BLACKRECT = &H4&
Public Const SS_GRAYRECT = &H5&
Public Const SS_WHITERECT = &H6&
Public Const SS_BLACKFRAME = &H7&
Public Const SS_GRAYFRAME = &H8&
Public Const SS_WHITEFRAME = &H9&
Public Const SS_USERITEM = &HA&
Public Const SS_SIMPLE = &HB&
Public Const SS_LEFTNOWORDWRAP = &HC&
Public Const SS_NOPREFIX = &H80 ' Don't do "&" character translation
Public Const DS_ABSALIGN = &H1&
Public Const DS_SYSMODAL = &H2&
Public Const DS_LOCALEDIT = &H20
Public Const DS_SETFONT = &H40
Public Const DS_MODALFRAME = &H80
Public Const DS_NOIDLEMSG = &H100
Public Const DS_SETFOREGROUND = &H200
Global Const WM_USER = &H400
' Watch out here - control message numbers have changed!
Public Const LB_RESETCONTENT = &H184
Public Const LB_SETTABSTOPS = &H192
Public Const LBS_NOTIFY = &H1&
Public Const LBS_SORT = &H2&
Public Const LBS_NOREDRAW = &H4&
Public Const LBS_MULTIPLESEL = &H8&
Public Const LBS_OWNERDRAWFIXED = &H10&
Public Const LBS_OWNERDRAWVARIABLE = &H20&
Public Const LBS_HASSTRINGS = &H40&
Public Const LBS_USETABSTOPS = &H80&
Public Const LBS_NOINTEGRALHEIGHT = &H100&
Public Const LBS_MULTICOLUMN = &H200&
Public Const LBS_WANTKEYBOARDINPUT = &H400&
Public Const LBS_EXTENDEDSEL = &H800&
Public Const LBS_DISABLENOSCROLL = &H1000&
Public Const LBS_NODATA = &H2000&
Public Const CBS_SIMPLE = &H1&
Public Const CBS_DROPDOWN = &H2&
Public Const CBS_DROPDOWNLIST = &H3&
Public Const CBS_OWNERDRAWFIXED = &H10&
Public Const CBS_OWNERDRAWVARIABLE = &H20&
Public Const CBS_AUTOHSCROLL = &H40&
Public Const CBS_OEMCONVERT = &H80&
Public Const CBS_SORT = &H100&
Public Const CBS_HASSTRINGS = &H200&
Public Const CBS_NOINTEGRALHEIGHT = &H400&
Public Const CBS_DISABLENOSCROLL = &H800&
Public Const SBS_HORZ = &H0&
Public Const SBS_VERT = &H1&
Public Const SBS_TOPALIGN = &H2&
Public Const SBS_LEFTALIGN = &H2&
Public Const SBS_BOTTOMALIGN = &H4&
Public Const SBS_RIGHTALIGN = &H4&
Public Const SBS_SIZEBOXTOPLEFTALIGN = &H2&
Public Const SBS_SIZEBOXBOTTOMRIGHTALIGN = &H4&
Public Const SBS_SIZEBOX = &H8&
Public Declare Function GetVersionEx Lib "kernel32.dll" _
Alias "GetVersionExA" _
(lpVerInfo As OSVERSIONINFO) As Long
Public Declare Function IsWindowVisible Lib "user32.dll" _
(ByVal hWnd As Long) As Long
Public Declare Function IsWindowEnabled Lib "user32.dll" _
(ByVal hWnd As Long) As Long
Public Declare Function IsZoomed Lib "user32.dll" _
(ByVal hWnd As Long) As Long
Public Declare Function IsIconic Lib "user32.dll" _
(ByVal hWnd As Long) As Long
Public Declare Function GetClientRect Lib "user32.dll" _
(ByVal hWnd As Long, lpRect As RECT) As Long
Public Declare Function GetWindowRect Lib "user32.dll" _
(ByVal hWnd As Long, lpRect As RECT) As Long
Public Declare Function ClientToScreen Lib "user32.dll" _
(ByVal hWnd As Long, lpPoint As POINTAPI) As Long
Public Declare Function EnumWindows Lib "user32.dll" _
(ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam&) As Long
Public Declare Function FlashWindow Lib "user32.dll" _
(ByVal hWnd As Long, ByVal bInvert As Long) As Long
Public Declare Function GetCapture Lib "user32.dll" () As Long
Public Declare Function GetClassLong Lib "user32.dll" _
Alias "GetClassLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function GetClassName Lib "user32.dll" _
Alias "GetClassNameA" _
(ByVal hWnd As Long, ByVal lpClassName As String, _
ByVal nMaxCount As Long) As Long
Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Public Declare Function GetDesktopWindow Lib "user32.dll" () As Long
Public Declare Function GetModuleFileName Lib "kernel32.dll" _
Alias "GetModuleFileNameA" _
(ByVal hModule As Long, ByVal lpFileName As String, _
ByVal nSize As Long) As Long
Public Declare Function GetParent Lib "user32.dll" _
(ByVal hWnd As Long) As Long
Public Declare Function GetWindow Lib "user32.dll" _
(ByVal hWnd As Long, ByVal wCmd As Long) As Long
Public Declare Function GetWindowLong Lib "user32.dll" _
Alias "GetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32.dll" _
(ByVal hWnd As Long, lpdwProcessId As Long) As Long
Public Declare Function ReleaseCapture Lib "user32.dll" () As Long
' We create a special SendMessage alias that accepts a long value by reference
Public Declare Function SendMessageLongByRef Lib "user32.dll" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Integer, lParam As Long) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long
Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function SetCapture Lib "user32.dll" _
(ByVal hWnd As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function WindowFromPoint Lib "user32.dll" _
(ByVal x As Long, ByVal y As Long) As Long
Public Declare Function GetWindowText Lib "user32.dll" _
Alias "GetWindowTextA" _
(ByVal hWnd As Long, ByVal lpString As String, _
ByVal cch As Long) As Long
' lpData was passed by the EnumWindows call and contains
' the parent window handle that we are looking for.
Public Function Callback1_EnumWindows(ByVal vhWnd As Long, _
ByVal lpData As Long) As Long
' If hWnd is owned by window in lpData,
' Add it to the listbox
If GetParent(vhWnd) = lpData Then
AddToList Winview.GetWindowDesc(vhWnd)
End If
Callback1_EnumWindows = 1 ' Continue enumeration
End Function
Public Function LPSTRToStr(ByVal vsSrc As String) As String