Option Explicit
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (destination As Any, source As Any, ByVal Length As Long)
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Public Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Public Declare Function GetMenuString Lib "user32" Alias "GetMenuStringA" (ByVal hMenu As Long, ByVal wIDItem As Long, ByVal lpString As String, ByVal nMaxCount As Long, ByVal wFlag As Long) As Long
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Public Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Long, ByVal lpBuffer As String, ByVal nSize As Long, ByRef lpNumberOfBytesWritten As Long) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function SendMessageLong& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
Public Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Public Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Public Declare Function ReleaseCapture Lib "user32" () As Long
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Public Const BM_GETCHECK = &HF0
Public Const BM_SETCHECK = &HF1
Public Const HWND_NOTOPMOST = -2
Public Const HWND_TOPMOST = -1
Public Const LB_GETCOUNT = &H18B
Public Const LB_GETITEMDATA = &H199
Public Const LB_GETTEXT = &H189
Public Const LB_GETTEXTLEN = &H18A
Public Const LB_SETCURSEL = &H186
Public Const LB_SETSEL = &H185
Public Const SND_ASYNC = &H1
Public Const SND_NODEFAULT = &H2
Public Const SND_FLAG = SND_ASYNC Or SND_NODEFAULT
Public Const SW_HIDE = 0
Public Const SW_SHOW = 5
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const VK_DOWN = &H28
Public Const VK_LEFT = &H25
Public Const VK_MENU = &H12
Public Const VK_RETURN = &HD
Public Const VK_RIGHT = &H27
Public Const VK_SHIFT = &H10
Public Const VK_SPACE = &H20
Public Const VK_UP = &H26
Public Const WM_CHAR = &H102
Public Const WM_CLOSE = &H10
Public Const WM_COMMAND = &H111
Public Const WM_GETTEXT = &HD
Public Const WM_GETTEXTLENGTH = &HE
Public Const WM_KEYDOWN = &H100
Public Const WM_KEYUP = &H101
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_MOVE = &HF012
Public Const WM_SETTEXT = &HC
Public Const WM_SYSCOMMAND = &H112
Public Const PROCESS_READ = &H10
Public Const RIGHTS_REQUIRED = &HF0000
Public Const ENTER_KEY = 13
Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Public Type POINTAPI
X As Long
Y As Long
End Type
Public Function FindForwardWindow() As Long
Dim AOL As Long, MDI As Long, child As Long
Dim Rich1 As Long, Rich2 As Long, Combo As Long
Dim FontCombo As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
child& = FindWindowEx(MDI&, 0&, "AOL Child", vbNullString)
Rich1& = FindWindowEx(child&, 0&, "RICHCNTL", vbNullString)
Rich2& = FindWindowEx(child&, Rich1&, "RICHCNTL", vbNullString)
Combo& = FindWindowEx(child&, 0&, "_AOL_Combobox", vbNullString)
FontCombo& = FindWindowEx(child&, 0&, "_AOL_FontCombo", vbNullString)
If Rich1& <> 0& And Rich2& = 0& And Combo& = 0& And FontCombo& = 0& Then
FindForwardWindow& = child&
Exit Function
Else
Do
child& = FindWindowEx(MDI&, child&, "AOL Child", vbNullString)
Rich1& = FindWindowEx(child&, 0&, "RICHCNTL", vbNullString)
Rich2& = FindWindowEx(child&, Rich1&, "RICHCNTL", vbNullString)
Combo& = FindWindowEx(child&, 0&, "_AOL_Combobox", vbNullString)
FontCombo& = FindWindowEx(child&, 0&, "_AOL_FontCombo", vbNullString)
If Rich1& <> 0& And Rich2& = 0& And Combo& = 0& And FontCombo& = 0& Then
FindForwardWindow& = child&
Exit Function
End If
Loop Until child& = 0&
End If
FindForwardWindow& = 0&
End Function
Public Function FindSendWindow() As Long
Dim AOL As Long, MDI As Long, child As Long
Dim SendStatic As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
child& = FindWindowEx(MDI&, 0&, "AOL Child", vbNullString)
SendStatic& = FindWindowEx(child&, 0&, "_AOL_Static", "Send Now")
If SendStatic& <> 0& Then
FindSendWindow& = child&
Exit Function
Else
Do
child& = FindWindowEx(MDI&, child&, "AOL Child", vbNullString)
SendStatic& = FindWindowEx(child&, 0&, "_AOL_Static", "Send Now")
If SendStatic& <> 0& Then
FindSendWindow& = child&
Exit Function
End If
Loop Until child& = 0&
End If
FindSendWindow& = 0&
End Function
Public Sub MailOpenFlash()
Dim AOL As Long, tool As Long, Toolbar As Long
Dim ToolIcon As Long, DoThis As Long, sMod As Long
Dim CurPos As POINTAPI, WinVis As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
tool& = FindWindowEx(AOL&, 0&, "AOL Toolbar", vbNullString)
Toolbar& = FindWindowEx(tool&, 0&, "_AOL_Toolbar", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, 0&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
Call GetCursorPos(CurPos)
Call SetCursorPos(Screen.Width, Screen.Height)
Call PostMessage(ToolIcon&, WM_LBUTTONDOWN, 0&, 0&)
Call PostMessage(ToolIcon&, WM_LBUTTONUP, 0&, 0&)
Do
sMod& = FindWindow("#32768", vbNullString)
WinVis& = IsWindowVisible(sMod&)
Loop Until WinVis& = 1
Call PostMessage(sMod&, WM_KEYDOWN, VK_UP, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_UP, 0&)
Call PostMessage(sMod&, WM_KEYDOWN, VK_RIGHT, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_RIGHT, 0&)
Call PostMessage(sMod&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_RETURN, 0&)
Call SetCursorPos(CurPos.X, CurPos.Y)
End Sub
Public Sub MailOpenNew()
Dim AOL As Long, tool As Long, Toolbar As Long
Dim ToolIcon As Long, sMod As Long, CurPos As POINTAPI
Dim WinVis As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
tool& = FindWindowEx(AOL&, 0&, "AOL Toolbar", vbNullString)
Toolbar& = FindWindowEx(tool&, 0&, "_AOL_Toolbar", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, 0&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
Call GetCursorPos(CurPos)
Call SetCursorPos(Screen.Width, Screen.Height)
Call PostMessage(ToolIcon&, WM_LBUTTONDOWN, 0&, 0&)
Call PostMessage(ToolIcon&, WM_LBUTTONUP, 0&, 0&)
Do
sMod& = FindWindow("#32768", vbNullString)
WinVis& = IsWindowVisible(sMod&)
Loop Until WinVis& = 1
Call PostMessage(sMod&, WM_KEYDOWN, VK_DOWN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_DOWN, 0&)
Call PostMessage(sMod&, WM_KEYDOWN, VK_DOWN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_DOWN, 0&)
Call PostMessage(sMod&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_RETURN, 0&)
Call SetCursorPos(CurPos.X, CurPos.Y)
End Sub
Public Sub MailOpenOld()
Dim AOL As Long, tool As Long, Toolbar As Long
Dim ToolIcon As Long, DoThis As Long, sMod As Long
Dim CurPos As POINTAPI, WinVis As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
tool& = FindWindowEx(AOL&, 0&, "AOL Toolbar", vbNullString)
Toolbar& = FindWindowEx(tool&, 0&, "_AOL_Toolbar", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, 0&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
Call GetCursorPos(CurPos)
Call SetCursorPos(Screen.Width, Screen.Height)
Call PostMessage(ToolIcon&, WM_LBUTTONDOWN, 0&, 0&)
Call PostMessage(ToolIcon&, WM_LBUTTONUP, 0&, 0&)
Do
sMod& = FindWindow("#32768", vbNullString)
WinVis& = IsWindowVisible(sMod&)
Loop Until WinVis& = 1
For DoThis& = 1 To 4
Call PostMessage(sMod&, WM_KEYDOWN, VK_DOWN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_DOWN, 0&)
Next DoThis&
Call PostMessage(sMod&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_RETURN, 0&)
Call SetCursorPos(CurPos.X, CurPos.Y)
End Sub
Public Sub MailOpenSent()
Dim AOL As Long, tool As Long, Toolbar As Long
Dim ToolIcon As Long, DoThis As Long, sMod As Long
Dim CurPos As POINTAPI, WinVis As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
tool& = FindWindowEx(AOL&, 0&, "AOL Toolbar", vbNullString)
Toolbar& = FindWindowEx(tool&, 0&, "_AOL_Toolbar", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, 0&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
Call GetCursorPos(CurPos)
Call SetCursorPos(Screen.Width, Screen.Height)
Call PostMessage(ToolIcon&, WM_LBUTTONDOWN, 0&, 0&)
Call PostMessage(ToolIcon&, WM_LBUTTONUP, 0&, 0&)
Do
sMod& = FindWindow("#32768", vbNullString)
WinVis& = IsWindowVisible(sMod&)
Loop Until WinVis& = 1
For DoThis& = 1 To 5
Call PostMessage(sMod&, WM_KEYDOWN, VK_DOWN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_DOWN, 0&)
Next DoThis&
Call PostMessage(sMod&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_RETURN, 0&)
Call SetCursorPos(CurPos.X, CurPos.Y)
End Sub
Public Sub MailOpenEmailFlash(index As Long)
Dim AOL As Long, MDI As Long, fMail As Long, fList As Long
Dim fCount As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
fMail& = FindWindowEx(MDI&, 0&, "AOL Child", "Incoming/Saved Mail")
fList& = FindWindowEx(fMail&, 0&, "_AOL_Tree", vbNullString)
fCount& = SendMessage(fList&, LB_GETCOUNT, 0&, 0&)
If fCount& < index& Then Exit Sub
Call SendMessage(fList&, LB_SETCURSEL, index&, 0&)
Call PostMessage(fList&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(fList&, WM_KEYUP, VK_RETURN, 0&)
End Sub
Public Sub MailOpenEmailNew(index As Long)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& < index& Then Exit Sub
Call SendMessage(mTree&, LB_SETCURSEL, index&, 0&)
Call PostMessage(mTree&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(mTree&, WM_KEYUP, VK_RETURN, 0&)
End Sub
Public Sub MailOpenEmailOld(index As Long)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
TabPage& = FindWindowEx(TabControl&, TabPage&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& < index& Then Exit Sub
Call SendMessage(mTree&, LB_SETCURSEL, index&, 0&)
Call PostMessage(mTree&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(mTree&, WM_KEYUP, VK_RETURN, 0&)
End Sub
Public Sub MailOpenEmailSent(index As Long)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
TabPage& = FindWindowEx(TabControl&, TabPage&, "_AOL_TabPage", vbNullString)
TabPage& = FindWindowEx(TabControl&, TabPage&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& < index& Then Exit Sub
Call SendMessage(mTree&, LB_SETCURSEL, index&, 0&)
Call PostMessage(mTree&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(mTree&, WM_KEYUP, VK_RETURN, 0&)
End Sub
Public Function MailCountFlash() As Long
Dim AOL As Long, MDI As Long, fMail As Long, fList As Long
Dim Count As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
fMail& = FindWindowEx(MDI&, 0&, "AOL Child", "Incoming/Saved Mail")
fList& = FindWindowEx(fMail&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(fList&, LB_GETCOUNT, 0&, 0&)
MailCountFlash& = Count&
End Function
Public Sub MailToListFlash(TheList As ListBox)
Dim AOL As Long, MDI As Long, fMail As Long, fList As Long
Dim Count As Long, MyString As String, AddMails As Long
Dim sLength As Long, Spot As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
fMail& = FindWindowEx(MDI&, 0&, "AOL Child", "Incoming/Saved Mail")
If fMail& = 0& Then Exit Sub
fList& = FindWindowEx(fMail&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(fList&, LB_GETCOUNT, 0&, 0&)
MyString$ = String(255, 0)
For AddMails& = 0 To Count& - 1
DoEvents
sLength& = SendMessage(fList&, LB_GETTEXTLEN, AddMails&, 0&)
MyString$ = String(sLength& + 1, 0)
Call SendMessageByString(fList&, LB_GETTEXT, AddMails&, MyString$)
Spot& = InStr(MyString$, Chr(9))
Spot& = InStr(Spot& + 1, MyString$, Chr(9))
MyString$ = Right(MyString$, Len(MyString$) - Spot&)
MyString$ = ReplaceString(MyString$, Chr(0), "")
TheList.AddItem MyString$
Next AddMails&
End Sub
Public Function FindMailBox() As Long
Dim AOL As Long, MDI As Long, child As Long
Dim TabControl As Long, TabPage As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
child& = FindWindowEx(MDI&, 0&, "AOL Child", vbNullString)
TabControl& = FindWindowEx(child&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
If TabControl& <> 0& And TabPage& <> 0& Then
FindMailBox& = child&
Exit Function
Else
Do
child& = FindWindowEx(MDI&, child&, "AOL Child", vbNullString)
TabControl& = FindWindowEx(child&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
If TabControl& <> 0& And TabPage& <> 0& Then
FindMailBox& = child&
Exit Function
End If
Loop Until child& = 0&
End If
FindMailBox& = 0&
End Function
Public Function MailCountNew() As Long
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Function
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
MailCountNew& = Count&
End Function
Public Function MailCountSent() As Long
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Function
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
TabPage& = FindWindowEx(TabControl&, TabPage&, "_AOL_TabPage", vbNullString)
TabPage& = FindWindowEx(TabControl&, TabPage&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
MailCountSent& = Count&
End Function
Public Function MailCountOld() As Long
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Function
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
TabPage& = FindWindowEx(TabControl&, TabPage&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
MailCountOld& = Count&
End Function
Public Sub MailDeleteNewByIndex(index As Long)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long, dButton As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If index& > Count& - 1 Or index& < 0& Then Exit Sub
Call SendMessage(mTree&, LB_SETCURSEL, index&, 0&)
dButton& = FindWindowEx(MailBox&, 0&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
Call SendMessage(dButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(dButton&, WM_LBUTTONUP, 0&, 0&)
End Sub
Public Sub MailDeleteNewDuplicates(VBForm As Form, DisplayStatus As Boolean)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long, dButton As Long
Dim SearchBox As Long, cSender As String, cSubject As String
Dim SearchFor As Long, sSender As String, sSubject As String
Dim CurCaption As String
MailBox& = FindMailBox&
CurCaption$ = VBForm.Caption
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
dButton& = FindWindowEx(MailBox&, 0&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& = 0& Then Exit Sub
For SearchFor& = 0& To Count& - 2
DoEvents
sSender$ = MailSenderNew(SearchFor&)
sSubject$ = MailSubjectNew(SearchFor&)
If sSender$ = "" Then
VBForm.Caption = CurCaption$
Exit Sub
End If
For SearchBox& = SearchFor& + 1 To Count& - 1
If DisplayStatus = True Then
VBForm.Caption = "Now checking #" & SearchFor& & " for match with #" & SearchBox&
End If
cSender$ = MailSenderNew(SearchBox&)
cSubject$ = MailSubjectNew(SearchBox&)
If cSender$ = sSender$ And cSubject$ = sSubject$ Then
Call SendMessage(mTree&, LB_SETCURSEL, SearchBox&, 0&)
DoEvents
Call SendMessage(dButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(dButton&, WM_LBUTTONUP, 0&, 0&)
DoEvents
SearchBox& = SearchBox& - 1
End If
Next SearchBox&
Next SearchFor&
VBForm.Caption = CurCaption$
End Sub
Public Sub MailDeleteNewBySender(Sender As String)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long, dButton As Long
Dim SearchBox As Long, cSender As String
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
dButton& = FindWindowEx(MailBox&, 0&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& = 0& Then Exit Sub
For SearchBox& = 0& To Count& - 1
cSender$ = MailSenderNew(SearchBox&)
If LCase(cSender$) = LCase(Sender$) Then
Call SendMessage(mTree&, LB_SETCURSEL, SearchBox&, 0&)
DoEvents
Call SendMessage(dButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(dButton&, WM_LBUTTONUP, 0&, 0&)
DoEvents
SearchBox& = SearchBox& - 1
End If
Next SearchBox&
End Sub
Public Sub MailDeleteNewNotSender(Sender As String)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, Count As Long, dButton As Long
Dim SearchBox As Long, cSender As String
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
dButton& = FindWindowEx(MailBox&, 0&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
dButton& = FindWindowEx(MailBox&, dButton&, "_AOL_Icon", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& = 0& Then Exit Sub
For SearchBox& = 0& To Count& - 1
cSender$ = MailSenderNew(SearchBox&)
If cSender$ = "" Then Exit Sub
If LCase(cSender$) <> LCase(Sender$) Then
Call SendMessage(mTree&, LB_SETCURSEL, SearchBox&, 0&)
DoEvents
Call SendMessage(dButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(dButton&, WM_LBUTTONUP, 0&, 0&)
DoEvents
SearchBox& = SearchBox& - 1
End If
Next SearchBox&
End Sub
Public Function MailSenderFlash(index As Long) As String
Dim AOL As Long, MDI As Long, fMail As Long, fList As Long
Dim fCount As Long, DeleteButton As Long, sLength As Long
Dim MyString As String, Spot1 As Long, Spot2 As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
fMail& = FindWindowEx(MDI&, 0&, "AOL Child", "Incoming/Saved Mail")
fList& = FindWindowEx(fMail&, 0&, "_AOL_Tree", vbNullString)
fCount& = SendMessage(fList&, LB_GETCOUNT, 0&, 0&)
If fCount& < index& Then Exit Function
DeleteButton& = FindWindowEx(fMail&, 0&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
If fCount& = 0 Or index& > fCount& - 1 Or index& < 0& Then Exit Function
sLength& = SendMessage(fList&, LB_GETTEXTLEN, index&, 0&)
MyString$ = String(sLength& + 1, 0)
Call SendMessageByString(fList&, LB_GETTEXT, index&, MyString$)
Spot1& = InStr(MyString$, Chr(9))
Spot2& = InStr(Spot1& + 1, MyString$, Chr(9))
MyString$ = Mid(MyString$, Spot1& + 1, Spot2& - Spot1& - 1)
MailSenderFlash$ = MyString$
End Function
Public Function MailSenderNew(index As Long) As String
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, AddMails As Long, sLength As Long
Dim Spot1 As Long, Spot2 As Long, MyString As String
Dim Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Function
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& = 0 Or index& > Count& - 1 Or index& < 0& Then Exit Function
sLength& = SendMessage(mTree&, LB_GETTEXTLEN, index&, 0&)
MyString$ = String(sLength& + 1, 0)
Call SendMessageByString(mTree&, LB_GETTEXT, index&, MyString$)
Spot1& = InStr(MyString$, Chr(9))
Spot2& = InStr(Spot1& + 1, MyString$, Chr(9))
MyString$ = Mid(MyString$, Spot1& + 1, Spot2& - Spot1& - 1)
MailSenderNew$ = MyString$
End Function
Public Function MailSubjectFlash(index As Long) As String
Dim AOL As Long, MDI As Long, fMail As Long, fList As Long
Dim fCount As Long, DeleteButton As Long, sLength As Long
Dim MyString As String, Spot As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
fMail& = FindWindowEx(MDI&, 0&, "AOL Child", "Incoming/Saved Mail")
fList& = FindWindowEx(fMail&, 0&, "_AOL_Tree", vbNullString)
fCount& = SendMessage(fList&, LB_GETCOUNT, 0&, 0&)
If fCount& < index& Then Exit Function
DeleteButton& = FindWindowEx(fMail&, 0&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
If fCount& = 0 Or index& > fCount& - 1 Or index& < 0& Then Exit Function
sLength& = SendMessage(fList&, LB_GETTEXTLEN, index&, 0&)
MyString$ = String(sLength& + 1, 0)
Call SendMessageByString(fList&, LB_GETTEXT, index&, MyString$)
Spot& = InStr(MyString$, Chr(9))
Spot& = InStr(Spot& + 1, MyString$, Chr(9))
MyString$ = Right(MyString$, Len(MyString$) - Spot&)
MyString$ = ReplaceString(MyString$, Chr(0), "")
MailSubjectFlash$ = MyString$
End Function
Public Function MailSubjectNew(index As Long) As String
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, AddMails As Long, sLength As Long
Dim Spot As Long, MyString As String, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Function
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& = 0 Or index& > Count& - 1 Or index& < 0& Then Exit Function
sLength& = SendMessage(mTree&, LB_GETTEXTLEN, index&, 0&)
MyString$ = String(sLength& + 1, 0)
Call SendMessageByString(mTree&, LB_GETTEXT, index&, MyString$)
Spot& = InStr(MyString$, Chr(9))
Spot& = InStr(Spot& + 1, MyString$, Chr(9))
MyString$ = Right(MyString$, Len(MyString$) - Spot&)
MyString$ = ReplaceString(MyString$, Chr(0), "")
MailSubjectNew$ = MyString$
End Function
Public Sub MailToListNew(TheList As ListBox)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, AddMails As Long, sLength As Long
Dim Spot As Long, MyString As String, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& = 0 Then Exit Sub
For AddMails& = 0 To Count& - 1
DoEvents
sLength& = SendMessage(mTree&, LB_GETTEXTLEN, AddMails&, 0&)
MyString$ = String(sLength& + 1, 0)
Call SendMessageByString(mTree&, LB_GETTEXT, AddMails&, MyString$)
Spot& = InStr(MyString$, Chr(9))
Spot& = InStr(Spot& + 1, MyString$, Chr(9))
MyString$ = Right(MyString$, Len(MyString$) - Spot&)
TheList.AddItem MyString$
Next AddMails&
End Sub
Public Sub MailToListOld(TheList As ListBox)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, AddMails As Long, sLength As Long
Dim Spot As Long, MyString As String, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
TabPage& = FindWindowEx(TabControl&, TabPage&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& = 0 Then Exit Sub
For AddMails& = 0 To Count& - 1
DoEvents
sLength& = SendMessage(mTree&, LB_GETTEXTLEN, AddMails&, 0&)
MyString$ = String(sLength& + 1, 0)
Call SendMessageByString(mTree&, LB_GETTEXT, AddMails&, MyString$)
Spot& = InStr(MyString$, Chr(9))
Spot& = InStr(Spot& + 1, MyString$, Chr(9))
MyString$ = Right(MyString$, Len(MyString$) - Spot&)
TheList.AddItem MyString$
Next AddMails&
End Sub
Public Sub MailToListSent(TheList As ListBox)
Dim MailBox As Long, TabControl As Long, TabPage As Long
Dim mTree As Long, AddMails As Long, sLength As Long
Dim Spot As Long, MyString As String, Count As Long
MailBox& = FindMailBox&
If MailBox& = 0& Then Exit Sub
TabControl& = FindWindowEx(MailBox&, 0&, "_AOL_TabControl", vbNullString)
TabPage& = FindWindowEx(TabControl&, 0&, "_AOL_TabPage", vbNullString)
TabPage& = FindWindowEx(TabControl&, TabPage&, "_AOL_TabPage", vbNullString)
TabPage& = FindWindowEx(TabControl&, TabPage&, "_AOL_TabPage", vbNullString)
mTree& = FindWindowEx(TabPage&, 0&, "_AOL_Tree", vbNullString)
Count& = SendMessage(mTree&, LB_GETCOUNT, 0&, 0&)
If Count& = 0 Then Exit Sub
For AddMails& = 0 To Count& - 1
DoEvents
sLength& = SendMessage(mTree&, LB_GETTEXTLEN, AddMails&, 0&)
MyString$ = String(sLength& + 1, 0)
Call SendMessageByString(mTree&, LB_GETTEXT, AddMails&, MyString$)
Spot& = InStr(MyString$, Chr(9))
Spot& = InStr(Spot& + 1, MyString$, Chr(9))
MyString$ = Right(MyString$, Len(MyString$) - Spot&)
TheList.AddItem MyString$
Next AddMails&
End Sub
Public Sub SendMail(Person As String, subject As String, message As String)
Dim AOL As Long, MDI As Long, tool As Long, Toolbar As Long
Dim ToolIcon As Long, OpenSend As Long, DoIt As Long
Dim Rich As Long, EditTo As Long, EditCC As Long
Dim EditSubject As Long, SendButton As Long
Dim Combo As Long, fCombo As Long, ErrorWindow As Long
Dim Button1 As Long, Button2 As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
tool& = FindWindowEx(AOL&, 0&, "AOL Toolbar", vbNullString)
Toolbar& = FindWindowEx(tool&, 0&, "_AOL_Toolbar", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, 0&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
Call PostMessage(ToolIcon&, WM_LBUTTONDOWN, 0&, 0&)
Call PostMessage(ToolIcon&, WM_LBUTTONUP, 0&, 0&)
DoEvents
Do
DoEvents
OpenSend& = FindWindowEx(MDI&, 0&, "AOL Child", "Write Mail")
EditTo& = FindWindowEx(OpenSend&, 0&, "_AOL_Edit", vbNullString)
EditCC& = FindWindowEx(OpenSend&, EditTo&, "_AOL_Edit", vbNullString)
EditSubject& = FindWindowEx(OpenSend&, EditCC&, "_AOL_Edit", vbNullString)
Rich& = FindWindowEx(OpenSend&, 0&, "RICHCNTL", vbNullString)
Combo& = FindWindowEx(OpenSend&, 0&, "_AOL_Combobox", vbNullString)
fCombo& = FindWindowEx(OpenSend&, 0&, "_AOL_Fontcombo", vbNullString)
Button1& = FindWindowEx(OpenSend&, 0&, "_AOL_Icon", vbNullString)
Button2& = FindWindowEx(OpenSend&, Button1&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(OpenSend&, 0&, "_AOL_Icon", vbNullString)
For DoIt& = 1 To 13
SendButton& = FindWindowEx(OpenSend&, SendButton&, "_AOL_Icon", vbNullString)
Next DoIt&
Loop Until OpenSend& <> 0& And EditTo& <> 0& And EditCC& <> 0& And EditSubject& <> 0& And Rich& <> 0& And SendButton& <> 0& And Combo& <> 0& And fCombo& <> 0& & SendButton& <> Button1& And SendButton& <> Button2&
Call SendMessageByString(EditTo&, WM_SETTEXT, 0, Person$)
DoEvents
Call SendMessageByString(EditSubject&, WM_SETTEXT, 0, subject$)
DoEvents
Call SendMessageByString(Rich&, WM_SETTEXT, 0, message$)
DoEvents
Pause 0.2
Call SendMessage(SendButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(SendButton&, WM_LBUTTONUP, 0&, 0&)
End Sub
Public Sub MailForward(SendTo As String, message As String, DeleteFwd As Boolean)
Dim AOL As Long, MDI As Long, Error As Long
Dim OpenForward As Long, OpenSend As Long, SendButton As Long
Dim DoIt As Long, EditTo As Long, EditCC As Long
Dim EditSubject As Long, Rich As Long, fCombo As Long
Dim Combo As Long, Button1 As Long, Button2 As Long
Dim TempSubject As String
OpenForward& = FindForwardWindow
If OpenForward& = 0 Then Exit Sub
SendButton& = FindWindowEx(OpenForward&, 0&, "_AOL_Icon", vbNullString)
For DoIt& = 1 To 6
SendButton& = FindWindowEx(OpenForward&, SendButton&, "_AOL_Icon", vbNullString)
Next DoIt&
Call SendMessage(SendButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(SendButton&, WM_LBUTTONUP, 0&, 0&)
Do
DoEvents
OpenSend& = FindSendWindow
EditTo& = FindWindowEx(OpenSend&, 0&, "_AOL_Edit", vbNullString)
EditCC& = FindWindowEx(OpenSend&, EditTo&, "_AOL_Edit", vbNullString)
EditSubject& = FindWindowEx(OpenSend&, EditCC&, "_AOL_Edit", vbNullString)
Rich& = FindWindowEx(OpenSend&, 0&, "RICHCNTL", vbNullString)
Combo& = FindWindowEx(OpenSend&, 0&, "_AOL_Combobox", vbNullString)
fCombo& = FindWindowEx(OpenSend&, 0&, "_AOL_Fontcombo", vbNullString)
Button1& = FindWindowEx(OpenSend&, 0&, "_AOL_Icon", vbNullString)
Button2& = FindWindowEx(OpenSend&, Button1&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(OpenSend&, 0&, "_AOL_Icon", vbNullString)
For DoIt& = 1 To 13
SendButton& = FindWindowEx(OpenSend&, SendButton&, "_AOL_Icon", vbNullString)
Next DoIt&
Loop Until OpenSend& <> 0& And EditTo& <> 0& And EditCC& <> 0& And EditSubject& <> 0& And Rich& <> 0& And SendButton& <> 0& And Combo& <> 0& And fCombo& <> 0& & SendButton& <> Button1& And SendButton& <> Button2&
If DeleteFwd = True Then
TempSubject$ = GetText(EditSubject&)
TempSubject$ = Right(TempSubject$, Len(TempSubject$) - 5)
Call SendMessageByString(EditSubject&, WM_SETTEXT, 0, TempSubject$)
DoEvents
End If
Call SendMessageByString(EditTo&, WM_SETTEXT, 0, SendTo$)
DoEvents
Call SendMessageByString(Rich&, WM_SETTEXT, 0, message$)
DoEvents
Do Until OpenSend& = 0& Or Error& <> 0&
DoEvents
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
Error& = FindWindowEx(MDI&, 0&, "AOL Child", "Error")
OpenSend& = FindSendWindow
SendButton& = FindWindowEx(OpenSend&, 0&, "_AOL_Icon", vbNullString)
For DoIt& = 1 To 11
SendButton& = FindWindowEx(OpenSend&, SendButton&, "_AOL_Icon", vbNullString)
Next DoIt&
Call SendMessage(SendButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(SendButton&, WM_LBUTTONUP, 0&, 0&)
Pause 1
Loop
If OpenSend& = 0& Then Call PostMessage(OpenForward&, WM_CLOSE, 0&, 0&)
End Sub
Public Sub CloseOpenMails()
Dim OpenSend As Long, OpenForward As Long
Do
DoEvents
OpenSend& = FindSendWindow
OpenForward& = FindForwardWindow
Call PostMessage(OpenSend&, WM_CLOSE, 0&, 0&)
DoEvents
Call PostMessage(OpenForward&, WM_CLOSE, 0&, 0&)
DoEvents
Loop Until OpenSend& = 0& And OpenForward& = 0&
End Sub
Public Sub MailDeleteFlashByIndex(index As Long)
Dim AOL As Long, MDI As Long, fMail As Long, fList As Long
Dim fCount As Long, DeleteButton As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
fMail& = FindWindowEx(MDI&, 0&, "AOL Child", "Incoming/Saved Mail")
fList& = FindWindowEx(fMail&, 0&, "_AOL_Tree", vbNullString)
fCount& = SendMessage(fList&, LB_GETCOUNT, 0&, 0&)
If fCount& < index& Then Exit Sub
DeleteButton& = FindWindowEx(fMail&, 0&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
Call SendMessage(fList&, LB_SETCURSEL, index&, 0&)
Call SendMessage(DeleteButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(DeleteButton&, WM_LBUTTONUP, 0&, 0&)
End Sub
Public Sub MailDeleteFlashDuplicates(VBForm As Form, DisplayStatus As Boolean)
Dim AOL As Long, MDI As Long, fMail As Long, fList As Long
Dim fCount As Long, DeleteButton As Long, SearchFor As Long
Dim SearchBox As Long, CurCaption As String
Dim sSender As String, sSubject As String
Dim cSender As String, cSubject As String
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
fMail& = FindWindowEx(MDI&, 0&, "AOL Child", "Incoming/Saved Mail")
fList& = FindWindowEx(fMail&, 0&, "_AOL_Tree", vbNullString)
fCount& = SendMessage(fList&, LB_GETCOUNT, 0&, 0&)
If fCount& < 2& Then Exit Sub
DeleteButton& = FindWindowEx(fMail&, 0&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
DeleteButton& = FindWindowEx(fMail&, DeleteButton&, "_AOL_Icon", vbNullString)
CurCaption$ = VBForm.Caption
If fCount& = 0& Then Exit Sub
For SearchFor& = 0& To fCount& - 2
DoEvents
sSender$ = MailSenderFlash(SearchFor&)
sSubject$ = MailSubjectFlash(SearchFor&)
If sSender$ = "" Then
VBForm.Caption = CurCaption$
Exit Sub
End If
For SearchBox& = SearchFor& + 1 To fCount& - 1
If DisplayStatus = True Then
VBForm.Caption = "Checking #" & SearchFor& & " with #" & SearchBox&
End If
cSender$ = MailSenderFlash(SearchBox&)
cSubject$ = MailSubjectFlash(SearchBox&)
If cSender$ = sSender$ And cSubject$ = sSubject$ Then
Call SendMessage(fList&, LB_SETCURSEL, SearchBox&, 0&)
DoEvents
Call SendMessage(DeleteButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(DeleteButton&, WM_LBUTTONUP, 0&, 0&)
DoEvents
SearchBox& = SearchBox& - 1
End If
Next SearchBox&
Next SearchFor&
VBForm.Caption = CurCaption$
End Sub
Public Sub SetMailPrefs()
Dim AOL As Long, tool As Long, Toolbar As Long
Dim ToolIcon As Long, DoThis As Long, sMod As Long
Dim MDI As Long, mPrefs As Long, mButton As Long
Dim gStatic As Long, mStatic As Long, fStatic As Long
Dim maStatic As Long, dMod As Long, ConfirmCheck As Long
Dim CloseCheck As Long, SpellCheck As Long, OKButton As Long
Dim CurPos As POINTAPI, WinVis As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
tool& = FindWindowEx(AOL&, 0&, "AOL Toolbar", vbNullString)
Toolbar& = FindWindowEx(tool&, 0&, "_AOL_Toolbar", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, 0&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
Call GetCursorPos(CurPos)
Call SetCursorPos(Screen.Width, Screen.Height)
Call PostMessage(ToolIcon&, WM_LBUTTONDOWN, 0&, 0&)
Call PostMessage(ToolIcon&, WM_LBUTTONUP, 0&, 0&)
Do
sMod& = FindWindow("#32768", vbNullString)
WinVis& = IsWindowVisible(sMod&)
Loop Until WinVis& = 1
For DoThis& = 1 To 3
Call PostMessage(sMod&, WM_KEYDOWN, VK_DOWN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_DOWN, 0&)
Next DoThis&
Call PostMessage(sMod&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_RETURN, 0&)
Call SetCursorPos(CurPos.X, CurPos.Y)
Do
DoEvents
mPrefs& = FindWindowEx(MDI&, 0&, "AOL Child", "Preferences")
gStatic& = FindWindowEx(mPrefs&, 0&, "_AOL_Static", "General")
mStatic& = FindWindowEx(mPrefs&, 0&, "_AOL_Static", "Mail")
fStatic& = FindWindowEx(mPrefs&, 0&, "_AOL_Static", "Font")
maStatic& = FindWindowEx(mPrefs&, 0&, "_AOL_Static", "Marketing")
Loop Until mPrefs& <> 0& And gStatic& <> 0& And mStatic& <> 0& And fStatic& <> 0& And maStatic& <> 0&
mButton& = FindWindowEx(mPrefs&, 0&, "_AOL_Icon", vbNullString)
mButton& = FindWindowEx(mPrefs&, mButton&, "_AOL_Icon", vbNullString)
mButton& = FindWindowEx(mPrefs&, mButton&, "_AOL_Icon", vbNullString)
Do
DoEvents
Call SendMessage(mButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(mButton&, WM_LBUTTONUP, 0&, 0&)
dMod& = FindWindow("_AOL_Modal", "Mail Preferences")
Pause 0.6
Loop Until dMod& <> 0&
ConfirmCheck& = FindWindowEx(dMod&, 0&, "_AOL_Checkbox", vbNullString)
CloseCheck& = FindWindowEx(dMod&, ConfirmCheck&, "_AOL_Checkbox", vbNullString)
SpellCheck& = FindWindowEx(dMod&, CloseCheck&, "_AOL_Checkbox", vbNullString)
SpellCheck& = FindWindowEx(dMod&, SpellCheck&, "_AOL_Checkbox", vbNullString)
SpellCheck& = FindWindowEx(dMod&, SpellCheck&, "_AOL_Checkbox", vbNullString)
SpellCheck& = FindWindowEx(dMod&, SpellCheck&, "_AOL_Checkbox", vbNullString)
OKButton& = FindWindowEx(dMod&, 0&, "_AOL_icon", vbNullString)
Call SendMessage(ConfirmCheck&, BM_SETCHECK, False, vbNullString)
Call SendMessage(CloseCheck&, BM_SETCHECK, True, vbNullString)
Call SendMessage(SpellCheck&, BM_SETCHECK, False, vbNullString)
Call SendMessage(OKButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(OKButton&, WM_LBUTTONUP, 0&, 0&)
DoEvents
Call PostMessage(mPrefs&, WM_CLOSE, 0&, 0&)
End Sub
Public Function ErrorName(name As Long) As String
Dim AOL As Long, MDI As Long, ErrorWindow As Long
Dim ErrorTextWindow As Long, ErrorString As String
Dim NameCount As Long, TempString As String
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
ErrorWindow& = FindWindowEx(MDI&, 0&, "AOL Child", "Error")
If ErrorWindow& = 0& Then Exit Function
ErrorTextWindow& = FindWindowEx(ErrorWindow&, 0&, "_AOL_View", vbNullString)
ErrorString$ = GetText(ErrorTextWindow&)
NameCount& = LineCount(ErrorString$) - 2
If NameCount& < name& Then Exit Function
TempString$ = LineFromString(ErrorString$, name& + 2)
TempString$ = Left(TempString$, InStr(TempString$, "-") - 2)
ErrorName$ = TempString$
End Function
Public Function ErrorNameCount() As Long
Dim AOL As Long, MDI As Long, ErrorWindow As Long
Dim ErrorTextWindow As Long, ErrorString As String
Dim NameCount As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
ErrorWindow& = FindWindowEx(MDI&, 0&, "AOL Child", "Error")
If ErrorWindow& = 0& Then Exit Function
ErrorTextWindow& = FindWindowEx(ErrorWindow&, 0&, "_AOL_View", vbNullString)
ErrorString$ = GetText(ErrorTextWindow&)
NameCount& = LineCount(ErrorString$) - 2
ErrorNameCount& = NameCount&
End Function
Public Function CheckAlive(ScreenName As String) As Boolean
Dim AOL As Long, MDI As Long, ErrorWindow As Long
Dim ErrorTextWindow As Long, ErrorString As String
Dim MailWindow As Long, NoWindow As Long, NoButton As Long
Call SendMail("*, " & ScreenName$, "You alive?", "=)")
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
Do
DoEvents
ErrorWindow& = FindWindowEx(MDI&, 0&, "AOL Child", "Error")
ErrorTextWindow& = FindWindowEx(ErrorWindow&, 0&, "_AOL_View", vbNullString)
ErrorString$ = GetText(ErrorTextWindow&)
Loop Until ErrorWindow& <> 0 And ErrorTextWindow& <> 0 And ErrorString$ <> ""
If InStr(LCase(ReplaceString(ErrorString$, " ", "")), LCase(ReplaceString(ScreenName$, " ", ""))) > 0 Then
CheckAlive = False
Else
CheckAlive = True
End If
MailWindow& = FindWindowEx(MDI&, 0&, "AOL Child", "Write Mail")
Call PostMessage(ErrorWindow&, WM_CLOSE, 0&, 0&)
DoEvents
Call PostMessage(MailWindow&, WM_CLOSE, 0&, 0&)
DoEvents
Do
DoEvents
NoWindow& = FindWindow("#32770", "America Online")
NoButton& = FindWindowEx(NoWindow&, 0&, "Button", "&No")
Loop Until NoWindow& <> 0& And NoButton& <> 0
Call SendMessage(NoButton&, WM_KEYDOWN, VK_SPACE, 0&)
Call SendMessage(NoButton&, WM_KEYUP, VK_SPACE, 0&)
End Function
Public Sub ChatSend(Chat As String)
Dim Room As Long, AORich As Long, AORich2 As Long
Room& = FindRoom&
AORich& = FindWindowEx(Room, 0&, "RICHCNTL", vbNullString)
AORich2& = FindWindowEx(Room, AORich, "RICHCNTL", vbNullString)
Call SendMessageByString(AORich2, WM_SETTEXT, 0&, Chat$)
Call SendMessageLong(AORich2, WM_CHAR, ENTER_KEY, 0&)
End Sub
Public Function FindIM() As Long
Dim AOL As Long, MDI As Long, child As Long, Caption As String
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
child& = FindWindowEx(MDI&, 0&, "AOL Child", vbNullString)
Caption$ = GetCaption(child&)
If InStr(Caption$, "Instant Message") = 1 Or InStr(Caption$, "Instant Message") = 2 Or InStr(Caption$, "Instant Message") = 3 Then
FindIM& = child&
Exit Function
Else
Do
child& = FindWindowEx(MDI&, child&, "AOL Child", vbNullString)
Caption$ = GetCaption(child&)
If InStr(Caption$, "Instant Message") = 1 Or InStr(Caption$, "Instant Message") = 2 Or InStr(Caption$, "Instant Message") = 3 Then
FindIM& = child&
Exit Function
End If
Loop Until child& = 0&
End If
FindIM& = child&
End Function
Public Function FindRoom() As Long
Dim AOL As Long, MDI As Long, child As Long
Dim Rich As Long, AOLList As Long
Dim AOLIcon As Long, AOLStatic As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
child& = FindWindowEx(MDI&, 0&, "AOL Child", vbNullString)
Rich& = FindWindowEx(child&, 0&, "RICHCNTL", vbNullString)
AOLList& = FindWindowEx(child&, 0&, "_AOL_Listbox", vbNullString)
AOLIcon& = FindWindowEx(child&, 0&, "_AOL_Icon", vbNullString)
AOLStatic& = FindWindowEx(child&, 0&, "_AOL_Static", vbNullString)
If Rich& <> 0& And AOLList& <> 0& And AOLIcon& <> 0& And AOLStatic& <> 0& Then
FindRoom& = child&
Exit Function
Else
Do
child& = FindWindowEx(MDI&, child&, "AOL Child", vbNullString)
Rich& = FindWindowEx(child&, 0&, "RICHCNTL", vbNullString)
AOLList& = FindWindowEx(child&, 0&, "_AOL_Listbox", vbNullString)
AOLIcon& = FindWindowEx(child&, 0&, "_AOL_Icon", vbNullString)
AOLStatic& = FindWindowEx(child&, 0&, "_AOL_Static", vbNullString)
If Rich& <> 0& And AOLList& <> 0& And AOLIcon& <> 0& And AOLStatic& <> 0& Then
FindRoom& = child&
Exit Function
End If
Loop Until child& = 0&
End If
FindRoom& = child&
End Function
Public Function FindInfoWindow() As Long
Dim AOL As Long, MDI As Long, child As Long
Dim AOLCheck As Long, AOLIcon As Long, AOLStatic As Long
Dim AOLIcon2 As Long, AOLGlyph As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
child& = FindWindowEx(MDI&, 0&, "AOL Child", vbNullString)
AOLCheck& = FindWindowEx(child&, 0&, "_AOL_Checkbox", vbNullString)
AOLStatic& = FindWindowEx(child&, 0&, "_AOL_Static", vbNullString)
AOLGlyph& = FindWindowEx(child&, 0&, "_AOL_Glyph", vbNullString)
AOLIcon& = FindWindowEx(child&, 0&, "_AOL_Icon", vbNullString)
AOLIcon2& = FindWindowEx(child&, AOLIcon&, "_AOL_Icon", vbNullString)
If AOLCheck& <> 0& And AOLStatic& <> 0& And AOLGlyph& <> 0& And AOLIcon& <> 0& And AOLIcon2& <> 0& Then
FindInfoWindow& = child&
Exit Function
Else
Do
child& = FindWindowEx(MDI&, child&, "AOL Child", vbNullString)
AOLCheck& = FindWindowEx(child&, 0&, "_AOL_Checkbox", vbNullString)
AOLStatic& = FindWindowEx(child&, 0&, "_AOL_Static", vbNullString)
AOLGlyph& = FindWindowEx(child&, 0&, "_AOL_Glyph", vbNullString)
AOLIcon& = FindWindowEx(child&, 0&, "_AOL_Icon", vbNullString)
AOLIcon2& = FindWindowEx(child&, AOLIcon&, "_AOL_Icon", vbNullString)
If AOLCheck& <> 0& And AOLStatic& <> 0& And AOLGlyph& <> 0& And AOLIcon& <> 0& And AOLIcon2& <> 0& Then
FindInfoWindow& = child&
Exit Function
End If
Loop Until child& = 0&
End If
FindInfoWindow& = child&
End Function
Public Function RoomCount() As Long
Dim AOL As Long, MDI As Long, rMail As Long, rList As Long
Dim Count As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
rMail& = FindRoom
rList& = FindWindowEx(rMail&, 0&, "_AOL_Listbox", vbNullString)
Count& = SendMessage(rList&, LB_GETCOUNT, 0&, 0&)
RoomCount& = Count&
End Function
Public Sub AddRoomToListbox(TheList As ListBox, AddUser As Boolean)
On Error Resume Next
Dim cProcess As Long, itmHold As Long, ScreenName As String
Dim psnHold As Long, rBytes As Long, index As Long, Room As Long
Dim rList As Long, sThread As Long, mThread As Long
Room& = FindRoom&
If Room& = 0& Then Exit Sub
rList& = FindWindowEx(Room&, 0&, "_AOL_Listbox", vbNullString)
sThread& = GetWindowThreadProcessId(rList, cProcess&)
mThread& = OpenProcess(PROCESS_READ Or RIGHTS_REQUIRED, False, cProcess&)
If mThread& Then
For index& = 0 To SendMessage(rList, LB_GETCOUNT, 0, 0) - 1
ScreenName$ = String$(4, vbNullChar)
itmHold& = SendMessage(rList, LB_GETITEMDATA, ByVal CLng(index&), ByVal 0&)
itmHold& = itmHold& + 24
Call ReadProcessMemory(mThread&, itmHold&, ScreenName$, 4, rBytes)
Call CopyMemory(psnHold&, ByVal ScreenName$, 4)
psnHold& = psnHold& + 6
ScreenName$ = String$(16, vbNullChar)
Call ReadProcessMemory(mThread&, psnHold&, ScreenName$, Len(ScreenName$), rBytes&)
ScreenName$ = Left$(ScreenName$, InStr(ScreenName$, vbNullChar) - 1)
If ScreenName$ <> GetUser$ Or AddUser = True Then
TheList.AddItem ScreenName$
End If
Next index&
Call CloseHandle(mThread)
End If
End Sub
Public Sub AddRoomToCombobox(TheCombo As ComboBox, AddUser As Boolean)
On Error Resume Next
Dim cProcess As Long, itmHold As Long, ScreenName As String
Dim psnHold As Long, rBytes As Long, index As Long, Room As Long
Dim rList As Long, sThread As Long, mThread As Long
Room& = FindRoom&
If Room& = 0& Then Exit Sub
rList& = FindWindowEx(Room&, 0&, "_AOL_Listbox", vbNullString)
sThread& = GetWindowThreadProcessId(rList, cProcess&)
mThread& = OpenProcess(PROCESS_READ Or RIGHTS_REQUIRED, False, cProcess&)
If mThread& Then
For index& = 0 To SendMessage(rList, LB_GETCOUNT, 0, 0) - 1
ScreenName$ = String$(4, vbNullChar)
itmHold& = SendMessage(rList, LB_GETITEMDATA, ByVal CLng(index&), ByVal 0&)
itmHold& = itmHold& + 24
Call ReadProcessMemory(mThread&, itmHold&, ScreenName$, 4, rBytes)
Call CopyMemory(psnHold&, ByVal ScreenName$, 4)
psnHold& = psnHold& + 6
ScreenName$ = String$(16, vbNullChar)
Call ReadProcessMemory(mThread&, psnHold&, ScreenName$, Len(ScreenName$), rBytes&)
ScreenName$ = Left$(ScreenName$, InStr(ScreenName$, vbNullChar) - 1)
If ScreenName$ <> GetUser$ Or AddUser = True Then
TheCombo.AddItem ScreenName$
End If
Next index&
Call CloseHandle(mThread)
End If
If TheCombo.ListCount > 0 Then
TheCombo.Text = TheCombo.List(0)
End If
End Sub
Public Sub ChatIgnoreByIndex(index As Long)
Dim Room As Long, sList As Long, iWindow As Long
Dim iCheck As Long, a As Long, Count As Long
Count& = RoomCount&
If index& > Count& - 1 Then Exit Sub
Room& = FindRoom&
sList& = FindWindowEx(Room&, 0&, "_AOL_Listbox", vbNullString)
Call SendMessage(sList&, LB_SETCURSEL, index&, 0&)
Call PostMessage(sList&, WM_LBUTTONDBLCLK, 0&, 0&)
Do
DoEvents
iWindow& = FindInfoWindow
Loop Until iWindow& <> 0&
DoEvents
iCheck& = FindWindowEx(iWindow&, 0&, "_AOL_Checkbox", vbNullString)
DoEvents
Do
DoEvents
a& = SendMessage(iCheck&, BM_GETCHECK, 0&, 0&)
Call PostMessage(iCheck&, WM_LBUTTONDOWN, 0&, 0&)
DoEvents
Call PostMessage(iCheck&, WM_LBUTTONUP, 0&, 0&)
DoEvents
Loop Until a& <> 0&
DoEvents
Call PostMessage(iWindow&, WM_CLOSE, 0&, 0&)
End Sub
Public Sub ChatIgnoreByName(name As String)
On Error Resume Next
Dim cProcess As Long, itmHold As Long, ScreenName As String
Dim psnHold As Long, rBytes As Long, index As Long, Room As Long
Dim rList As Long, sThread As Long, mThread As Long
Dim lIndex As Long
Room& = FindRoom&
If Room& = 0& Then Exit Sub
rList& = FindWindowEx(Room&, 0&, "_AOL_Listbox", vbNullString)
sThread& = GetWindowThreadProcessId(rList, cProcess&)
mThread& = OpenProcess(PROCESS_READ Or RIGHTS_REQUIRED, False, cProcess&)
If mThread& Then
For index& = 0 To SendMessage(rList, LB_GETCOUNT, 0, 0) - 1
ScreenName$ = String$(4, vbNullChar)
itmHold& = SendMessage(rList, LB_GETITEMDATA, ByVal CLng(index&), ByVal 0&)
itmHold& = itmHold& + 24
Call ReadProcessMemory(mThread&, itmHold&, ScreenName$, 4, rBytes)
Call CopyMemory(psnHold&, ByVal ScreenName$, 4)
psnHold& = psnHold& + 6
ScreenName$ = String$(16, vbNullChar)
Call ReadProcessMemory(mThread&, psnHold&, ScreenName$, Len(ScreenName$), rBytes&)
ScreenName$ = Left$(ScreenName$, InStr(ScreenName$, vbNullChar) - 1)
If ScreenName$ <> GetUser$ And LCase(ScreenName$) = LCase(name$) Then
lIndex& = index&
Call ChatIgnoreByIndex(lIndex&)
DoEvents
Exit Sub
End If
Next index&
Call CloseHandle(mThread)
End If
End Sub
Public Function ChatLineSN(TheChatLine As String) As String
If InStr(TheChatLine, ":") = 0 Then
ChatLineSN = ""
Exit Function
End If
ChatLineSN = Left(TheChatLine, InStr(TheChatLine, ":") - 1)
End Function
Public Function ChatLineMsg(TheChatLine As String) As String
If InStr(TheChatLine, Chr(9)) = 0 Then
ChatLineMsg = ""
Exit Function
End If
ChatLineMsg = Right(TheChatLine, Len(TheChatLine) - InStr(TheChatLine, Chr(9)))
End Function
Public Sub Scroll(ScrollString As String)
Dim CurLine As String, Count As Long, ScrollIt As Long
Dim sProgress As Long
If FindRoom& = 0 Then Exit Sub
If ScrollString$ = "" Then Exit Sub
Count& = LineCount(ScrollString$)
sProgress& = 1
For ScrollIt& = 1 To Count&
CurLine$ = LineFromString(ScrollString$, ScrollIt&)
If Len(CurLine$) > 3 Then
If Len(CurLine$) > 92 Then
CurLine$ = Left(CurLine$, 92)
End If
Call ChatSend(CurLine$)
Pause 0.7
End If
sProgress& = sProgress& + 1
If sProgress& > 4 Then
sProgress& = 1
Pause 0.5
End If
Next ScrollIt&
End Sub
Public Sub WaitForOKOrRoom(Room As String)
Dim RoomTitle As String, FullWindow As Long, FullButton As Long
Room$ = LCase(ReplaceString(Room$, " ", ""))
Do
DoEvents
RoomTitle$ = GetCaption(FindRoom&)
RoomTitle$ = LCase(ReplaceString(Room$, " ", ""))
FullWindow& = FindWindow("#32770", "America Online")
FullButton& = FindWindowEx(FullWindow&, 0&, "Button", "OK")
Loop Until (FullWindow& <> 0& And FullButton& <> 0&) Or Room$ = RoomTitle$
DoEvents
If FullWindow& <> 0& Then
Do
DoEvents
Call SendMessage(FullButton&, WM_KEYDOWN, VK_SPACE, 0&)
Call SendMessage(FullButton&, WM_KEYUP, VK_SPACE, 0&)
Call SendMessage(FullButton&, WM_KEYDOWN, VK_SPACE, 0&)
Call SendMessage(FullButton&, WM_KEYUP, VK_SPACE, 0&)
FullWindow& = FindWindow("#32770", "America Online")
FullButton& = FindWindowEx(FullWindow&, 0&, "Button", "OK")
Loop Until FullWindow& = 0& And FullButton& = 0&
End If
DoEvents
End Sub
Public Sub MemberRoom(Room As String)
Call Keyword("aol://2719:61-2-" & Room$)
End Sub
Public Sub PublicRoom(Room As String)
Call Keyword("aol://2719:21-2-" & Room$)
End Sub
Public Sub PrivateRoom(Room As String)
Call Keyword("aol://2719:2-2-" & Room$)
End Sub
Public Sub InstantMessage(Person As String, message As String)
Dim AOL As Long, MDI As Long, IM As Long, Rich As Long
Dim SendButton As Long, OK As Long, Button As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
Call Keyword("aol://9293:" & Person$)
Do
DoEvents
IM& = FindWindowEx(MDI&, 0&, "AOL Child", "Send Instant Message")
Rich& = FindWindowEx(IM&, 0&, "RICHCNTL", vbNullString)
SendButton& = FindWindowEx(IM&, 0&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(IM&, SendButton&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(IM&, SendButton&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(IM&, SendButton&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(IM&, SendButton&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(IM&, SendButton&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(IM&, SendButton&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(IM&, SendButton&, "_AOL_Icon", vbNullString)
SendButton& = FindWindowEx(IM&, SendButton&, "_AOL_Icon", vbNullString)
Loop Until IM& <> 0& And Rich& <> 0& And SendButton& <> 0&
Call SendMessageByString(Rich&, WM_SETTEXT, 0&, message$)
Call SendMessage(SendButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(SendButton&, WM_LBUTTONUP, 0&, 0&)
Do
DoEvents
OK& = FindWindow("#32770", "America Online")
IM& = FindWindowEx(MDI&, 0&, "AOL Child", "Send Instant Message")
Loop Until OK& <> 0& Or IM& = 0&
If OK& <> 0& Then
Button& = FindWindowEx(OK&, 0&, "Button", vbNullString)
Call PostMessage(Button&, WM_KEYDOWN, VK_SPACE, 0&)
Call PostMessage(Button&, WM_KEYUP, VK_SPACE, 0&)
Call PostMessage(IM&, WM_CLOSE, 0&, 0&)
End If
End Sub
Public Function CheckIMs(Person As String) As Boolean
Dim AOL As Long, MDI As Long, IM As Long, Rich As Long
Dim Available As Long, Available1 As Long, Available2 As Long
Dim Available3 As Long, oWindow As Long, oButton As Long
Dim oStatic As Long, oString As String
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
Call Keyword("aol://9293:" & Person$)
Do
DoEvents
IM& = FindWindowEx(MDI&, 0&, "AOL Child", "Send Instant Message")
Rich& = FindWindowEx(IM&, 0&, "RICHCNTL", vbNullString)
Available1& = FindWindowEx(IM&, 0&, "_AOL_Icon", vbNullString)
Available2& = FindWindowEx(IM&, Available1&, "_AOL_Icon", vbNullString)
Available3& = FindWindowEx(IM&, Available2&, "_AOL_Icon", vbNullString)
Available& = FindWindowEx(IM&, Available3&, "_AOL_Icon", vbNullString)
Available& = FindWindowEx(IM&, Available&, "_AOL_Icon", vbNullString)
Available& = FindWindowEx(IM&, Available&, "_AOL_Icon", vbNullString)
Available& = FindWindowEx(IM&, Available&, "_AOL_Icon", vbNullString)
Available& = FindWindowEx(IM&, Available&, "_AOL_Icon", vbNullString)
Available& = FindWindowEx(IM&, Available&, "_AOL_Icon", vbNullString)
Available& = FindWindowEx(IM&, Available&, "_AOL_Icon", vbNullString)
Loop Until IM& <> 0& And Rich <> 0& And Available& <> 0& And Available& <> Available1& And Available& <> Available2& And Available& <> Available3&
DoEvents
Call SendMessage(Available&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(Available&, WM_LBUTTONUP, 0&, 0&)
Do
DoEvents
oWindow& = FindWindow("#32770", "America Online")
oButton& = FindWindowEx(oWindow&, 0&, "Button", "OK")
Loop Until oWindow& <> 0& And oButton& <> 0&
Do
DoEvents
oStatic& = FindWindowEx(oWindow&, 0&, "Static", vbNullString)
oStatic& = FindWindowEx(oWindow&, oStatic&, "Static", vbNullString)
oString$ = GetText(oStatic)
Loop Until oStatic& <> 0& And Len(oString$) > 15
If InStr(oString$, "is online and able to receive") <> 0 Then
CheckIMs = True
Else
CheckIMs = False
End If
Call SendMessage(oButton&, WM_KEYDOWN, VK_SPACE, 0&)
Call SendMessage(oButton&, WM_KEYUP, VK_SPACE, 0&)
Call PostMessage(IM&, WM_CLOSE, 0&, 0&)
End Function
Public Sub IMIgnore(Person As String)
Call InstantMessage("$IM_OFF, " & Person$, "=)")
End Sub
Public Sub IMUnIgnore(Person As String)
Call InstantMessage("$IM_ON, " & Person$, "=)")
End Sub
Public Sub IMsOff()
Call InstantMessage("$IM_OFF", "=)")
End Sub
Public Sub IMsOn()
Call InstantMessage("$IM_ON", "=)")
End Sub
Public Function IMSender() As String
Dim IM As Long, Caption As String
Caption$ = GetCaption(FindIM&)
If InStr(Caption$, ":") = 0& Then
IMSender$ = ""
Exit Function
Else
IMSender$ = Right(Caption$, Len(Caption$) - InStr(Caption$, ":") - 1)
End If
End Function
Public Function IMText() As String
Dim Rich As Long
Rich& = FindWindowEx(FindIM&, 0&, "RICHCNTL", vbNullString)
IMText$ = GetText(Rich&)
End Function
Public Function IMLastMsg() As String
Dim Rich As Long, MsgString As String, Spot As Long
Dim NewSpot As Long
Rich& = FindWindowEx(FindIM&, 0&, "RICHCNTL", vbNullString)
MsgString$ = GetText(Rich&)
NewSpot& = InStr(MsgString$, Chr(9))
Do
Spot& = NewSpot&
NewSpot& = InStr(Spot& + 1, MsgString$, Chr(9))
Loop Until NewSpot& <= 0&
MsgString$ = Right(MsgString$, Len(MsgString$) - Spot& - 1)
IMLastMsg$ = Left(MsgString$, Len(MsgString$) - 1)
End Function
Public Sub IMRespond(Msg As String)
Dim IM As Long, Rich As Long, Icon As Long
IM& = FindIM&
If IM& = 0& Then Exit Sub
Rich& = FindWindowEx(IM&, 0&, "RICHCNTL", vbNullString)
Rich& = FindWindowEx(IM&, Rich&, "RICHCNTL", vbNullString)
Icon& = FindWindowEx(IM&, 0&, "_AOL_Icon", vbNullString)
Icon& = FindWindowEx(IM&, Icon&, "_AOL_Icon", vbNullString)
Icon& = FindWindowEx(IM&, Icon&, "_AOL_Icon", vbNullString)
Icon& = FindWindowEx(IM&, Icon&, "_AOL_Icon", vbNullString)
Icon& = FindWindowEx(IM&, Icon&, "_AOL_Icon", vbNullString)
Icon& = FindWindowEx(IM&, Icon&, "_AOL_Icon", vbNullString)
Icon& = FindWindowEx(IM&, Icon&, "_AOL_Icon", vbNullString)
Icon& = FindWindowEx(IM&, Icon&, "_AOL_Icon", vbNullString)
Icon& = FindWindowEx(IM&, Icon&, "_AOL_Icon", vbNullString)
Call SendMessageByString(Rich&, WM_SETTEXT, 0&, Msg$)
DoEvents
Call SendMessage(Icon&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(Icon&, WM_LBUTTONUP, 0&, 0&)
End Sub
Public Sub Keyword(KW As String)
Dim AOL As Long, tool As Long, Toolbar As Long
Dim Combo As Long, EditWin As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
tool& = FindWindowEx(AOL&, 0&, "AOL Toolbar", vbNullString)
Toolbar& = FindWindowEx(tool&, 0&, "_AOL_Toolbar", vbNullString)
Combo& = FindWindowEx(Toolbar&, 0&, "_AOL_Combobox", vbNullString)
EditWin& = FindWindowEx(Combo&, 0&, "Edit", vbNullString)
Call SendMessageByString(EditWin&, WM_SETTEXT, 0&, KW$)
Call SendMessageLong(EditWin&, WM_CHAR, VK_SPACE, 0&)
Call SendMessageLong(EditWin&, WM_CHAR, VK_RETURN, 0&)
End Sub
Public Function DoubleText(MyString As String) As String
Dim NewString As String, CurChar As String
Dim DoIt As Long
If MyString$ <> "" Then
For DoIt& = 1 To Len(MyString$)
CurChar$ = LineChar(MyString$, DoIt&)
NewString$ = NewString$ & CurChar$ & CurChar$
Next DoIt&
DoubleText$ = NewString$
End If
End Function
Public Function LineChar(TheText As String, CharNum As Long) As String
Dim TextLength As Long, NewText As String
TextLength& = Len(TheText$)
If CharNum& > TextLength& Then
Exit Function
End If
NewText$ = Left(TheText$, CharNum&)
NewText$ = Right(NewText$, 1)
LineChar$ = NewText$
End Function
Public Function LineCount(MyString As String) As Long
Dim Spot As Long, Count As Long
If Len(MyString$) < 1 Then
LineCount& = 0&
Exit Function
End If
Spot& = InStr(MyString$, Chr(13))
If Spot& <> 0& Then
LineCount& = 1
Do
Spot& = InStr(Spot + 1, MyString$, Chr(13))
If Spot& <> 0& Then
LineCount& = LineCount& + 1
End If
Loop Until Spot& = 0&
End If
LineCount& = LineCount& + 1
End Function
Public Function LineFromString(MyString As String, Line As Long) As String
Dim theline As String, Count As Long
Dim FSpot As Long, LSpot As Long, DoIt As Long
Count& = LineCount(MyString$)
If Line& > Count& Then
Exit Function
End If
If Line& = 1 And Count& = 1 Then
LineFromString$ = MyString$
Exit Function
End If
If Line& = 1 Then
theline$ = Left(MyString$, InStr(MyString$, Chr(13)) - 1)
theline$ = ReplaceString(theline$, Chr(13), "")
theline$ = ReplaceString(theline$, Chr(10), "")
LineFromString$ = theline$
Exit Function
Else
FSpot& = InStr(MyString$, Chr(13))
For DoIt& = 1 To Line& - 1
LSpot& = FSpot&
FSpot& = InStr(FSpot& + 1, MyString$, Chr(13))
Next DoIt
If FSpot = 0 Then
FSpot = Len(MyString$)
End If
theline$ = Mid(MyString$, LSpot&, FSpot& - LSpot& + 1)
theline$ = ReplaceString(theline$, Chr(13), "")
theline$ = ReplaceString(theline$, Chr(10), "")
LineFromString$ = theline$
End If
End Function
Public Function ReplaceString(MyString As String, ToFind As String, ReplaceWith As String) As String
Dim Spot As Long, NewSpot As Long, LeftString As String
Dim RightString As String, NewString As String
Spot& = InStr(LCase(MyString$), LCase(ToFind))
NewSpot& = Spot&
Do
If NewSpot& > 0& Then
LeftString$ = Left(MyString$, NewSpot& - 1)
If Spot& + Len(ToFind$) <= Len(MyString$) Then
RightString$ = Right(MyString$, Len(MyString$) - NewSpot& - Len(ToFind$) + 1)
Else
RightString = ""
End If
NewString$ = LeftString$ & ReplaceWith$ & RightString$
MyString$ = NewString$
Else
NewString$ = MyString$
End If
Spot& = NewSpot& + Len(ReplaceWith$)
If Spot& > 0 Then
NewSpot& = InStr(Spot&, LCase(MyString$), LCase(ToFind$))
End If
Loop Until NewSpot& < 1
ReplaceString$ = NewString$
End Function
Public Function ReverseString(MyString As String) As String
Dim TempString As String, StringLength As Long
Dim Count As Long, NextChr As String, NewString As String
TempString$ = MyString$
StringLength& = Len(TempString$)
Do While Count& <= StringLength&
Count& = Count& + 1
NextChr$ = Mid$(TempString$, Count&, 1)
NewString$ = NextChr$ & NewString$
Loop
ReverseString$ = NewString$
End Function
Public Function SwitchStrings(MyString As String, String1 As String, String2 As String) As String
Dim TempString As String, Spot1 As Long, Spot2 As Long
Dim Spot As Long, ToFind As String, ReplaceWith As String
Dim NewSpot As Long, LeftString As String, RightString As String
Dim NewString As String
If Len(String2) > Len(String1) Then
TempString$ = String1$
String1$ = String2$
String2$ = TempString$
End If
Spot1& = InStr(MyString$, String1$)
Spot2& = InStr(MyString$, String2$)
If Spot1& = 0& And Spot2& = 0& Then
SwitchStrings$ = MyString$
Exit Function
End If
If Spot1& < Spot2& Or Spot2& = 0 Or Len(String1$) = Len(String2$) Then
If Spot1& > 0 Then
Spot& = Spot1&
ToFind$ = String1$
ReplaceWith$ = String2$
End If
End If
If Spot2& < Spot1& Or Spot1& = 0& Then
If Spot2& > 0& Then
Spot& = Spot2&
ToFind$ = String2$
ReplaceWith$ = String1$
End If
End If
If Spot1& = 0& And Spot2& = 0& Then
SwitchStrings$ = MyString$
Exit Function
End If
NewSpot& = Spot&
Do
If NewSpot& > 0& Then
LeftString$ = Left(MyString$, NewSpot& - 1)
If Spot& + Len(ToFind$) <= Len(MyString$) Then
RightString$ = Right(MyString$, Len(MyString$) - NewSpot& - Len(ToFind$) + 1)
Else
RightString$ = ""
End If
NewString$ = LeftString$ & ReplaceWith$ & RightString$
MyString$ = NewString$
Else
NewString$ = MyString$
End If
Spot& = NewSpot + Len(ReplaceWith$) - Len(ToFind$) + 1
If Spot& <> 0& Then
Spot1& = InStr(Spot&, MyString$, String1$)
Spot2& = InStr(Spot&, MyString$, String2$)
End If
If Spot1& = 0& And Spot2& = 0& Then
SwitchStrings$ = MyString$
Exit Function
End If
If Spot1& < Spot2& Or Spot2& = 0& Or Len(String1$) = Len(String2$) Then
If Spot1& > 0& Then
Spot& = Spot1&
ToFind$ = String1$
ReplaceWith$ = String2$
End If
End If
If Spot2& < Spot1& Or Spot1& = 0& Then
If Spot2& > 0& Then
Spot& = Spot2&
ToFind$ = String2$
ReplaceWith$ = String1$
End If
End If
If Spot1& = 0& And Spot2& = 0& Then
Spot& = 0&
End If
If Spot& > 0& Then
NewSpot& = InStr(Spot&, MyString$, ToFind$)
Else
NewSpot& = Spot&
End If
Loop Until NewSpot& < 1&
SwitchStrings$ = NewString$
End Function
Public Function MacroFilter_BCurve(MyString As String) As String
MyString$ = ReplaceString(MyString$, "\", "]")
MyString$ = ReplaceString(MyString$, "/", "[")
MacroFilter_BCurve$ = MyString$
End Function
Public Function MacroFilter_BubbleTop(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯¯¯", "°'°'°'")
MacroFilter_BubbleTop$ = MyString$
End Function
Public Function MacroFilter_BubbleTop2(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯¯¯", "º°°°'")
MacroFilter_BubbleTop2$ = MyString$
End Function
Public Function MacroFilter_ClawTop(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯¯¯¯¯¯", "¯\(¯)/" & Chr(34) & "¯")
MacroFilter_ClawTop$ = MyString$
End Function
Public Function MacroFilter_Curve(MyString As String) As String
MyString$ = ReplaceString(MyString$, "\", ")")
MyString$ = ReplaceString(MyString$, "/", "(")
MacroFilter_Curve$ = MyString$
End Function
Public Function MacroFilter_CurveBottom(MyString As String) As String
MyString$ = ReplaceString(MyString$, "___", "î,î,î,")
MacroFilter_CurveBottom$ = MyString$
End Function
Public Function MacroFilter_Darken(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¦", "|")
MyString$ = ReplaceString(MyString$, ",´", "/ ")
MyString$ = ReplaceString(MyString$, "`,", " \")
MyString$ = ReplaceString(MyString$, ":", ";")
MacroFilter_Darken$ = MyString$
End Function
Public Function MacroFilter_Destroy(MyString As String) As String
MyString$ = ReplaceString(MyString$, " ", "")
MacroFilter_Destroy$ = MyString$
End Function
Public Function MacroFilter_DrippingTop(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯¯¯¯¯", "¯\,/¯'v'")
MacroFilter_DrippingTop$ = MyString$
End Function
Public Function MacroFilter_Electric(MyString As String) As String
MyString$ = ReplaceString(MyString$, " |", "--^v^|")
MyString$ = ReplaceString(MyString$, "| ", "|^v^--")
MacroFilter_Electric$ = MyString$
End Function
Public Function MacroFilter_FireyBottom(MyString As String) As String
MyString$ = ReplaceString(MyString$, "___", "_')\.")
MacroFilter_FireyBottom$ = MyString$
End Function
Public Function MacroFilter_Ghost(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯", "¨¨")
MyString$ = ReplaceString(MyString$, "/", ".·")
MyString$ = ReplaceString(MyString$, "\", "·.")
MyString$ = ReplaceString(MyString$, "|", ":")
MyString$ = ReplaceString(MyString$, "_", "..")
MyString$ = ReplaceString(MyString$, "¦", ":")
MacroFilter_Ghost = MyString$
End Function
Public Function MacroFilter_Indent(MyString As String) As String
Dim NewLine As String, OrgLen As Long, NumOfLines As Long
Dim OrgCount As Long, SpaceIt As Long, CurLine As String
Dim NewString As String
NewLine$ = Chr(13) & Chr(10)
OrgLen& = Len(MyString$)
MyString$ = MyString$ & NewLine$
NumOfLines& = LineCount(MyString$)
OrgCount& = NumOfLines&
For SpaceIt& = 1 To NumOfLines&
DoEvents
CurLine$ = LineFromString(MyString$, SpaceIt&)
NewString$ = NewString$ & " " & CurLine$ & NewLine$
Next SpaceIt&
MyString$ = Left(NewString$, OrgLen& + OrgCount& - 1)
MacroFilter_Indent$ = MyString$
End Function
Public Function MacroFilter_JaG(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯¯¯¯", "¯`v´¯")
MacroFilter_JaG$ = MyString$
End Function
Public Function MacroFilter_Lighten(MyString As String) As String
MyString$ = ReplaceString(MyString$, "|", "¦")
MyString$ = ReplaceString(MyString$, "/ ", ",´")
MyString$ = ReplaceString(MyString$, "\ ", "`,")
MyString$ = ReplaceString(MyString$, " /", ",´")
MyString$ = ReplaceString(MyString$, " \", "`,")
MyString$ = ReplaceString(MyString$, ";", ":")
MacroFilter_Lighten$ = MyString$
End Function
Public Function MacroFilter_PCurve(MyString As String) As String
MyString$ = ReplaceString(MyString$, "\", "}")
MyString$ = ReplaceString(MyString$, "/", "{")
MacroFilter_PCurve$ = MyString$
End Function
Public Function MacroFilter_PsYTop(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯¯¯", "`'¯`“")
MacroFilter_PsYTop$ = MyString$
End Function
Public Function MacroFilter_RandomBottom(MyString As String) As String
MyString$ = ReplaceString(MyString$, "___", "-‚„‚¸‚")
MacroFilter_RandomBottom$ = MyString$
End Function
Public Function MacroFilter_Rapid(MyString As String) As String
MyString$ = ReplaceString(MyString$, " |", "-=|")
MyString$ = ReplaceString(MyString$, "| ", "|=-")
MacroFilter_Rapid$ = MyString$
End Function
Public Function MacroFilter_ReplaceLines(MyString As String) As String
MyString$ = ReplaceString(MyString$, "|", "¦")
MacroFilter_ReplaceLines$ = MyString$
End Function
Public Function MacroFilter_ReplaceSlants(MyString As String) As String
MyString$ = ReplaceString(MyString$, "/ ", ",´")
MyString$ = ReplaceString(MyString$, "\ ", "`,")
MyString$ = ReplaceString(MyString$, " /", ",´")
MyString$ = ReplaceString(MyString$, " \", "`,")
MacroFilter_ReplaceSlants$ = MyString$
End Function
Public Function MacroFilter_Reverse(MyString As String) As String
Dim CurChar As Long, NewLine As String, MyText As String
Dim NumOfLines As Long, ReverseIt As Long, CheckLen As Long
Dim CurLine As String, NewString As String
If MyString$ <> "" Then
NewLine$ = Chr(13) & Chr(10)
MyText$ = MyString$ & NewLine$
NumOfLines& = LineCount(MyText$)
For ReverseIt& = 1 To NumOfLines
CurLine$ = LineFromString(MyText$, ReverseIt&)
CurLine$ = ReverseString(CurLine$)
NewString$ = NewString$ & CurLine$ & NewLine$
Next ReverseIt&
NewString$ = SwitchStrings(NewString$, "/", "\")
NewString$ = SwitchStrings(NewString$, "[", "]")
NewString$ = SwitchStrings(NewString$, "{", "}")
NewString$ = SwitchStrings(NewString$, "(", ")")
NewString$ = SwitchStrings(NewString$, "«", "»")
NewString$ = SwitchStrings(NewString$, "‹", "›")
NewString$ = SwitchStrings(NewString$, "<", ">")
CheckLen& = Len(NewString$)
NewString$ = Left(NewString$, CheckLen& - 4)
MacroFilter_Reverse$ = NewString$
End If
End Function
Public Function MacroFilter_RoundedTop(MyString As String) As String
MyString$ = ReplaceString(MyString$, "|¯¯", "|'˜¯")
MyString$ = ReplaceString(MyString$, "¦¯¯", "¦'˜¯")
MacroFilter_RoundedTop$ = MyString$
End Function
Public Function MacroFilter_Shadow(MyString As String) As String
MyString$ = ReplaceString(MyString$, " |", ";|")
MyString$ = ReplaceString(MyString$, "| ", "|;")
MacroFilter_Shadow$ = MyString$
End Function
Public Function MacroFilter_Smear(MyString As String) As String
MyString$ = ReplaceString(MyString$, "|", "¦")
MyString$ = ReplaceString(MyString$, " ¦", ".:;¦")
MyString$ = ReplaceString(MyString$, " ¦", ":;¦")
MyString$ = ReplaceString(MyString$, " ¦", ";¦")
MyString$ = ReplaceString(MyString$, " /", ".:;/")
MyString$ = ReplaceString(MyString$, " /", ":;/")
MyString$ = ReplaceString(MyString$, " /", ";/")
MyString$ = ReplaceString(MyString$, " \", ".:;\")
MyString$ = ReplaceString(MyString$, " \", ":;\")
MyString$ = ReplaceString(MyString$, " \", ";\")
MyString$ = ReplaceString(MyString$, " '", ".:;'")
MyString$ = ReplaceString(MyString$, " '", ":;'")
MyString$ = ReplaceString(MyString$, " '", ";'")
MacroFilter_Smear$ = MyString$
End Function
Public Function MacroFilter_SpikeBottom(MyString As String) As String
MyString$ = ReplaceString(MyString$, "___", "¸¡¸¡¸¡")
MacroFilter_SpikeBottom$ = MyString$
End Function
Public Function MacroFilter_Straighten(MyString As String) As String
MyString$ = ReplaceString(MyString$, "}", "\")
MyString$ = ReplaceString(MyString$, "{", "/")
MyString$ = ReplaceString(MyString$, "]", "\")
MyString$ = ReplaceString(MyString$, "[", "/")
MyString$ = ReplaceString(MyString$, ")", "\")
MyString$ = ReplaceString(MyString$, "(", "/")
MacroFilter_Straighten$ = MyString$
End Function
Public Function MacroFilter_Stretch(MyString As String) As String
Dim CurChar As Long, StretchIt As Long, MyText As String
Dim NewLine As String, NumOfLines As Long, CheckLen As Long
Dim CurLine As String, NewString As String
If MyString$ <> "" Then
NewLine$ = Chr(13) & Chr(10)
MyText$ = MyString$ & NewLine$
NumOfLines& = LineCount(MyText$)
For StretchIt& = 1 To NumOfLines&
CurLine$ = LineFromString(MyText, StretchIt&)
CurLine$ = DoubleText(CurLine$)
NewString$ = NewString$ & CurLine$ & NewLine$
Next StretchIt&
CheckLen& = Len(NewString$)
NewString$ = Left(NewString$, CheckLen& - 4)
MacroFilter_Stretch$ = NewString$
End If
End Function
Public Function MacroFilter_StarTop(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯¯¯", "`**¯")
MacroFilter_StarTop$ = MyString$
End Function
Public Function MacroFilter_ThickenBottom(MyString As String) As String
MyString$ = ReplaceString(MyString$, "___", "¸‚¸‚¸‚")
MacroFilter_ThickenBottom$ = MyString$
End Function
Public Function MacroFilter_ThickenTop(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯¯¯", "”‘”‘”‘")
MacroFilter_ThickenTop$ = MyString$
End Function
Public Function MacroFilter_TreadTop(MyString As String) As String
MyString$ = ReplaceString(MyString$, "¯¯¯", "ª‘ª‘ª‘")
MacroFilter_TreadTop$ = MyString$
End Function
Public Function MacroFilter_UnIndent(MyString As String) As String
Dim OrgLen As Long, NewLine As String, NumOfLines As Long
Dim OrgCount As Long, CurLine As String, NewString As String
Dim SpaceIt As Long
OrgLen& = Len(MyString$)
NewLine$ = Chr(13) & Chr(10)
MyString$ = MyString$ & NewLine$
NumOfLines& = LineCount(MyString)
OrgCount& = NumOfLines&
For SpaceIt& = 1 To NumOfLines&
CurLine$ = LineFromString(MyString$, SpaceIt&)
If Len(CurLine$) < 1 Then
NewString$ = NewString$ & CurLine$ & NewLine$
Else
NewString$ = NewString$ & Right(CurLine$, Len(CurLine$) - 1) & NewLine$
End If
Next SpaceIt&
MyString$ = Left(NewString$, Len(NewString$) - 4)
MacroFilter_UnIndent$ = MyString$
End Function
Public Function MacroFilter_UpsideDown(MyString As String) As String
Dim CharCheck As Long, CurChar As Long, CurLine As String
Dim FlipIt As Long, MyLine As Long, MyText As String
Dim NewLine As String, NumOfLines As Long
Dim CheckLen As Long, NewString As String
If MyString$ <> "" Then
NewLine$ = Chr(13) & Chr(10)
MyText$ = MyString$ & NewLine$
NumOfLines& = LineCount(MyText$)
MyLine& = NumOfLines& - 1
For FlipIt& = 1 To NumOfLines&
DoEvents
CurLine$ = LineFromString(MyText$, MyLine&)
NewString$ = NewString$ & CurLine$ & NewLine$
MyLine& = MyLine& - 1
Next FlipIt&
NewString$ = Left(NewString$, Len(NewString$) - 4)
MyString$ = NewString$
CheckLen& = Len(NewString$)
NewString$ = SwitchStrings(MyString$, "/", "\")
MyString$ = SwitchStrings(MyString$, "¯", "_")
MyString$ = SwitchStrings(MyString$, ",", "'")
MyString$ = ReplaceString(MyString$, ",,", ",")
MyString$ = ReplaceString(MyString$, "`", ",")
MyString$ = SwitchStrings(MyString$, "´", ".")
MyString$ = ReplaceString(MyString$, "‘", ".")
MyString$ = ReplaceString(MyString$, "’", ",")
MyString$ = SwitchStrings(MyString$, "ˆ", "¸")
MyString$ = SwitchStrings(MyString$, "„", Chr(34))
MacroFilter_UpsideDown$ = MyString$
End If
End Function
Public Function FileExists(sFileName As String) As Boolean
If Len(sFileName$) = 0 Then
FileExists = False
Exit Function
End If
If Len(Dir$(sFileName$)) Then
FileExists = True
Else
FileExists = False
End If
End Function
Sub LoadText(txtLoad As TextBox, Path As String)
Dim TextString As String
On Error Resume Next
Open Path$ For Input As #1
TextString$ = Input(LOF(1), #1)
Close #1
txtLoad.Text = TextString$
End Sub
Sub SaveText(txtSave As TextBox, Path As String)
Dim TextString As String
On Error Resume Next
TextString$ = txtSave.Text
Open Path$ For Output As #1
Print #1, TextString$
Close #1
End Sub
Public Sub Loadlistbox(Directory As String, TheList As ListBox)
Dim MyString As String
On Error Resume Next
Open Directory$ For Input As #1
While Not EOF(1)
Input #1, MyString$
DoEvents
TheList.AddItem MyString$
Wend
Close #1
End Sub
Public Sub Load2listboxes(Directory As String, ListA As ListBox, ListB As ListBox)
Dim MyString As String, aString As String, bString As String
On Error Resume Next
Open Directory$ For Input As #1
While Not EOF(1)
Input #1, MyString$
aString$ = Left(MyString$, InStr(MyString$, "*") - 1)
bString$ = Right(MyString$, Len(MyString$) - InStr(MyString$, "*"))
DoEvents
ListA.AddItem aString$
ListB.AddItem bString$
Wend
Close #1
End Sub
Public Sub SaveListBox(Directory As String, TheList As ListBox)
Dim SaveList As Long
On Error Resume Next
Open Directory$ For Output As #1
For SaveList& = 0 To TheList.ListCount - 1
Print #1, TheList.List(SaveList&)
Next SaveList&
Close #1
End Sub
Public Sub Save2ListBoxes(Directory As String, ListA As ListBox, ListB As ListBox)
Dim SaveLists As Long
On Error Resume Next
Open Directory$ For Output As #1
For SaveLists& = 0 To ListA.ListCount - 1
Print #1, ListA.List(SaveLists&) & "*" & ListB.List(SaveLists)
Next SaveLists&
Close #1
End Sub
Public Sub SaveComboBox(ByVal Directory As String, Combo As ComboBox)
Dim SaveCombo As Long
On Error Resume Next
Open Directory$ For Output As #1
For SaveCombo& = 0 To Combo.ListCount - 1
Print #1, Combo.List(SaveCombo&)
Next SaveCombo&
Close #1
End Sub
Public Sub LoadComboBox(ByVal Directory As String, Combo As ComboBox)
Dim MyString As String
On Error Resume Next
Open Directory$ For Input As #1
While Not EOF(1)
Input #1, MyString$
DoEvents
Combo.AddItem MyString$
Wend
Close #1
End Sub
Public Function FileGetAttributes(TheFile As String) As Integer
Dim SafeFile As String
SafeFile$ = Dir(TheFile$)
If SafeFile$ <> "" Then
FileGetAttributes% = GetAttr(TheFile$)
End If
End Function
Public Sub FileSetNormal(TheFile As String)
Dim SafeFile As String
SafeFile$ = Dir(TheFile$)
If SafeFile$ <> "" Then
SetAttr TheFile$, vbNormal
End If
End Sub
Public Sub FileSetReadOnly(TheFile As String)
Dim SafeFile As String
SafeFile$ = Dir(TheFile$)
If SafeFile$ <> "" Then
SetAttr TheFile$, vbReadOnly
End If
End Sub
Public Sub FileSetHidden(TheFile As String)
Dim SafeFile As String
SafeFile$ = Dir(TheFile$)
If SafeFile$ <> "" Then
SetAttr TheFile$, vbHidden
End If
End Sub
Public Function GetFromINI(Section As String, Key As String, Directory As String) As String
Dim strBuffer As String
strBuffer = String(750, Chr(0))
Key$ = LCase$(Key$)
GetFromINI$ = Left(strBuffer, GetPrivateProfileString(Section$, ByVal Key$, "", strBuffer, Len(strBuffer), Directory$))
End Function
Public Sub WriteToINI(Section As String, Key As String, KeyValue As String, Directory As String)
Call WritePrivateProfileString(Section$, UCase$(Key$), KeyValue$, Directory$)
End Sub
Public Function CheckIfMaster() As Boolean
Dim AOL As Long, MDI As Long, pWindow As Long
Dim pButton As Long, Modal As Long, mStatic As Long
Dim mString As String
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDICLIENT", vbNullString)
Call Keyword("aol://4344:1580.prntcon.12263709.564517913")
Do
DoEvents
pWindow& = FindWindowEx(MDI&, 0&, "AOL Child", "Parental Controls")
pButton& = FindWindowEx(pWindow&, 0&, "_AOL_Icon", vbNullString)
Loop Until pWindow& <> 0& And pButton& <> 0&
Pause 0.3
Do
DoEvents
Call PostMessage(pButton&, WM_LBUTTONDOWN, 0&, 0&)
Call PostMessage(pButton&, WM_LBUTTONUP, 0&, 0&)
Pause 0.8
Modal& = FindWindow("_AOL_Modal", vbNullString)
mStatic& = FindWindowEx(Modal&, 0&, "_AOL_Static", vbNullString)
mString$ = GetText(mStatic&)
Loop Until Modal& <> 0 And mStatic& <> 0& And mString$ <> ""
mString$ = ReplaceString(mString$, Chr(10), "")
mString$ = ReplaceString(mString$, Chr(13), "")
If mString$ = "Set Parental Controls" Then
CheckIfMaster = True
Else
CheckIfMaster = False
End If
Call PostMessage(Modal&, WM_CLOSE, 0&, 0&)
DoEvents
Call PostMessage(pWindow&, WM_CLOSE, 0&, 0&)
End Function
Public Function GetCaption(WindowHandle As Long) As String
Dim buffer As String, TextLength As Long
TextLength& = GetWindowTextLength(WindowHandle&)
buffer$ = String(TextLength&, 0&)
Call GetWindowText(WindowHandle&, buffer$, TextLength& + 1)
GetCaption$ = buffer$
End Function
Public Function GetListText(WindowHandle As Long) As String
Dim buffer As String, TextLength As Long
TextLength& = SendMessage(WindowHandle&, LB_GETTEXTLEN, 0&, 0&)
buffer$ = String(TextLength&, 0&)
Call SendMessageByString(WindowHandle&, LB_GETTEXT, TextLength& + 1, buffer$)
GetListText$ = buffer$
End Function
Public Function GetText(WindowHandle As Long) As String
Dim buffer As String, TextLength As Long
TextLength& = SendMessage(WindowHandle&, WM_GETTEXTLENGTH, 0&, 0&)
buffer$ = String(TextLength&, 0&)
Call SendMessageByString(WindowHandle&, WM_GETTEXT, TextLength& + 1, buffer$)
GetText$ = buffer$
End Function
Public Sub Button(mButton As Long)
Call SendMessage(mButton&, WM_KEYDOWN, VK_SPACE, 0&)
Call SendMessage(mButton&, WM_KEYUP, VK_SPACE, 0&)
End Sub
Public Sub Icon(aIcon As Long)
Call SendMessage(aIcon&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(aIcon&, WM_LBUTTONUP, 0&, 0&)
End Sub
Public Sub CloseWindow(Window As Long)
Call PostMessage(Window&, WM_CLOSE, 0&, 0&)
End Sub
Public Function ProfileGet(ScreenName As String) As String
Dim AOL As Long, tool As Long, Toolbar As Long
Dim ToolIcon As Long, DoThis As Long, sMod As Long
Dim MDI As Long, pgWindow As Long, pgEdit As Long, pgButton As Long
Dim pWindow As Long, pTextWindow As Long, pString As String
Dim NoWindow As Long, OKButton As Long, CurPos As POINTAPI
Dim WinVis As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
tool& = FindWindowEx(AOL&, 0&, "AOL Toolbar", vbNullString)
Toolbar& = FindWindowEx(tool&, 0&, "_AOL_Toolbar", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, 0&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
ToolIcon& = FindWindowEx(Toolbar&, ToolIcon&, "_AOL_Icon", vbNullString)
Call GetCursorPos(CurPos)
Call SetCursorPos(Screen.Width, Screen.Height)
Call PostMessage(ToolIcon&, WM_LBUTTONDOWN, 0&, 0&)
Call PostMessage(ToolIcon&, WM_LBUTTONUP, 0&, 0&)
Do
sMod& = FindWindow("#32768", vbNullString)
WinVis& = IsWindowVisible(sMod&)
Loop Until WinVis& = 1
Call PostMessage(sMod&, WM_KEYDOWN, VK_UP, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_UP, 0&)
Call PostMessage(sMod&, WM_KEYDOWN, VK_UP, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_UP, 0&)
Call PostMessage(sMod&, WM_KEYDOWN, VK_RETURN, 0&)
Call PostMessage(sMod&, WM_KEYUP, VK_RETURN, 0&)
Call SetCursorPos(CurPos.X, CurPos.Y)
Do
DoEvents
pgWindow& = FindWindowEx(MDI&, 0&, "AOL Child", "Get a Member's Profile")
pgEdit& = FindWindowEx(pgWindow&, 0&, "_AOL_Edit", vbNullString)
pgButton& = FindWindowEx(pgWindow&, 0&, "_AOL_Icon", vbNullString)
Loop Until pgWindow& <> 0& And pgEdit& <> 0& And pgButton& <> 0&
Call SendMessageByString(pgEdit&, WM_SETTEXT, 0&, ScreenName$)
Call SendMessage(pgButton&, WM_LBUTTONDOWN, 0&, 0&)
Call SendMessage(pgButton&, WM_LBUTTONUP, 0&, 0&)
DoEvents
Do
DoEvents
pWindow& = FindWindowEx(MDI&, 0&, "AOL Child", "Member Profile")
pTextWindow& = FindWindowEx(pWindow&, 0&, "_AOL_View", vbNullString)
pString$ = GetText(pTextWindow&)
NoWindow& = FindWindow("#32770", "America Online")
Loop Until pWindow& <> 0& And pTextWindow& <> 0& Or NoWindow& <> 0&
DoEvents
If NoWindow& <> 0& Then
OKButton& = FindWindowEx(NoWindow&, 0&, "Button", "OK")
Call SendMessage(OKButton&, WM_KEYDOWN, VK_SPACE, 0&)
Call SendMessage(OKButton&, WM_KEYUP, VK_SPACE, 0&)
Call PostMessage(pgWindow&, WM_CLOSE, 0&, 0&)
ProfileGet$ = "< No Profile >"
Else
Call PostMessage(pWindow&, WM_CLOSE, 0&, 0&)
Call PostMessage(pgWindow&, WM_CLOSE, 0&, 0&)
ProfileGet$ = pString$
End If
End Function
Public Function GetUser() As String
Dim AOL As Long, MDI As Long, welcome As Long
Dim child As Long, UserString As String
AOL& = FindWindow("AOL Frame25", vbNullString)
MDI& = FindWindowEx(AOL&, 0&, "MDIClient", vbNullString)
child& = FindWindowEx(MDI&, 0&, "AOL Child", vbNullString)
UserString$ = GetCaption(child&)
If InStr(UserString$, "Welcome, ") = 1 Then
UserString$ = Mid$(UserString$, 10, (InStr(UserString$, "!") - 10))
GetUser$ = UserString$
Exit Function
Else
Do
child& = FindWindowEx(MDI&, child&, "AOL Child", vbNullString)
UserString$ = GetCaption(child&)
If InStr(UserString$, "Welcome, ") = 1 Then
UserString$ = Mid$(UserString$, 10, (InStr(UserString$, "!") - 10))
GetUser$ = UserString$
Exit Function
End If
Loop Until child& = 0&
End If
GetUser$ = ""
End Function
Public Sub Pause(Duration As Long)
Dim Current As Long
Current = Timer
Do Until Timer - Current >= Duration
DoEvents
Loop
End Sub
Public Sub PlayMIDI(MIDIFile As String)
Dim SafeFile As String
SafeFile$ = Dir(MIDIFile$)
If SafeFile$ <> "" Then
Call mciSendString("play " & MIDIFile$, 0&, 0, 0)
End If
End Sub
Public Sub StopMIDI(MIDIFile As String)
Dim SafeFile As String
SafeFile$ = Dir(MIDIFile$)
If SafeFile$ <> "" Then
Call mciSendString("stop " & MIDIFile$, 0&, 0, 0)
End If
End Sub
Public Sub Playwav(WavFile As String)
Dim SafeFile As String
SafeFile$ = Dir(WavFile$)
If SafeFile$ <> "" Then
Call sndPlaySound(WavFile$, SND_FLAG)
End If
End Sub
Public Sub SetText(Window As Long, Text As String)
Call SendMessageByString(Window&, WM_SETTEXT, 0&, Text$)
End Sub
Public Function ListToMailString(TheList As ListBox) As String
Dim DoList As Long, MailString As String
If TheList.List(0) = "" Then Exit Function
For DoList& = 0 To TheList.ListCount - 1
MailString$ = MailString$ & "(" & TheList.List(DoList&) & "), "
Next DoList&
MailString$ = Mid(MailString$, 1, Len(MailString$) - 2)
ListToMailString$ = MailString$
End Function
Public Sub FormOnTop(FormName As Form)
Call SetWindowPos(FormName.hwnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, FLAGS)
End Sub
Public Sub FormNotOnTop(FormName As Form)
Call SetWindowPos(FormName.hwnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, FLAGS)
End Sub
Public Sub FormDrag(TheForm As Form)
Call ReleaseCapture
Call SendMessage(TheForm.hwnd, WM_SYSCOMMAND, WM_MOVE, 0)
End Sub
Public Sub FormExitDown(TheForm As Form)
Do
DoEvents
TheForm.Top = Trim(Str(Int(TheForm.Top) + 300))
Loop Until TheForm.Top > 7200
End Sub
Public Sub FormExitLeft(TheForm As Form)
Do
DoEvents
TheForm.Left = Trim(Str(Int(TheForm.Left) - 300))
Loop Until TheForm.Left < -TheForm.Width
End Sub
Public Sub FormExitRight(TheForm As Form)
Do
DoEvents
TheForm.Left = Trim(Str(Int(TheForm.Left) + 300))
Loop Until TheForm.Left > Screen.Width
End Sub
Public Sub FormExitUp(TheForm As Form)
Do
DoEvents
TheForm.Top = Trim(Str(Int(TheForm.Top) - 300))
Loop Until TheForm.Top < -TheForm.Width
End Sub
Public Sub WindowHide(hwnd As Long)
Call ShowWindow(hwnd&, SW_HIDE)
End Sub
Public Sub WindowShow(hwnd As Long)
Call ShowWindow(hwnd&, SW_SHOW)
End Sub
Public Sub RunMenu(TopMenu As Long, SubMenu As Long)
Dim AOL As Long, aMenu As Long, sMenu As Long, mnID As Long
Dim mVal As Long
AOL& = FindWindow("AOL Frame25", vbNullString)
aMenu& = GetMenu(AOL&)
sMenu& = GetSubMenu(aMenu&, TopMenu&)
mnID& = GetMenuItemID(sMenu&, SubMenu&)
Call SendMessageLong(AOL&, WM_COMMAND, mnID&, 0&)
End Sub
Public Sub RunMenuByString(SearchString As String)
Dim AOL As Long, aMenu As Long, mCount As Long
Dim LookFor As Long, sMenu As Long, sCount As Long
Dim LookSub As Long, sID As Long, sString As String
AOL& = FindWindow("AOL Frame25", vbNullString)
aMenu& = GetMenu(AOL&)
mCount& = GetMenuItemCount(aMenu&)
For LookFor& = 0& To mCount& - 1
sMenu& = GetSubMenu(aMenu&, LookFor&)
sCount& = GetMenuItemCount(sMenu&)
For LookSub& = 0 To sCount& - 1
sID& = GetMenuItemID(sMenu&, LookSub&)
sString$ = String$(100, " ")
Call GetMenuString(sMenu&, sID&, sString$, 100&, 1&)
If InStr(LCase(sString$), LCase(SearchString$)) Then
Call SendMessageLong(AOL&, WM_COMMAND, sID&, 0&)
Exit Sub
End If
Next LookSub&
Next LookFor&
End Sub