GetAllIEUrls()
PROCEDURE GetAllIEUrls
DECLARE INTEGER GetActiveWindow IN User32
DECLARE INTEGER GetClassName IN User32 INTEGER, STRING, INTEGER
DECLARE INTEGER GetWindow IN User32 INTEGER, INTEGER
#DEFINE GW_HWNDFIRST 0x0
#DEFINE GW_HWNDNEXT 0x2
#DEFINE GW_HWNDLAST 0x1
#DEFINE BUFFERLENGTH 255
LOCAL lnActiveWindowHandle, lnWindowHandle, lnInstanceCount, ;
llFirstTime, lcClassName, lnLastWindow
lnActiveWindowHandle = GetActiveWindow()
STORE 0 TO lnWindowHandle, lnInstanceCount
llFirstTime = .T.
lcClassName = REPLICATE(CHR(0),BUFFERLENGTH)
lnLastWindow = GetWindow(lnActiveWindowHandle, GW_HWNDLAST)
DO WHILE lnWindowHandle != lnLastWindow
IF llFirstTime
lnWindowHandle = GetWindow(lnActiveWindowHandle, GW_HWNDFIRST)
llFirstTime = .F.
ELSE
lnWindowHandle = GetWindow(lnWindowHandle, GW_HWNDNEXT)
ENDIF
GetClassName(lnWindowHandle, @lcClassName, BUFFERLENGTH)
IF LEFT(lcClassName,7) == "IEFrame"
lnInstanceCount = lnInstanceCount + 1
MESSAGEBOX(GetIEUrl(lnWindowHandle))
ENDIF
ENDDO
IF lnInstanceCount = 0
MESSAGEBOX("No Instances of IE found")
ENDIF
CLEAR DLLS GetActiveWindow, GetClassName, GetWindow
ENDPROC
*********************
FUNCTION GetDisplayedText(tcHWND)
*********************
DECLARE INTEGER SendMessage IN User32 INTEGER, INTEGER, INTEGER, STRING
#DEFINE WM_GETTEXTLENGTH 0xE
#DEFINE WM_GETTEXT 0xD
LOCAL lnLength, lcBuffer
lnLength = SendMessage(tcHWND, WM_GETTEXTLENGTH, 0, 0) + 1
lcBuffer = REPLICATE(CHR(0), lnLength)
SendMessage(tcHWND, WM_GETTEXT, lnLength, @lcBuffer)
CLEAR DLLS SendMessage
RETURN lcBuffer
ENDFUNC
*********************
FUNCTION GetIEUrl(tcHWND)
*********************
*!* Commented out lines as the function no longer requires
*!* them with the way we are using it
*!* DECLARE INTEGER FindWindow IN User32 STRING, STRING
DECLARE LONG FindWindowEx IN User32 LONG, LONG, STRING, STRING
LOCAL lnWorker, lnToolbar, lnComboboxEx, lnCombo, lnEdit &&,lnIE
*!* lnIE = FindWindow('IEFrame',NULL)
lnWorker = FindWindowEx(tcHWND, 0,'WorkerW',NULL)
lnToolbar = FindWindowEx(lnWorker, 0,'RebarWindow32',NULL)
lnComboboxEx = FindWindowEx(lnToolbar, 0, 'ComboboxEx32', NULL)
lnCombo = FindWindowEx(lnComboboxEx, 0,'ComboBox',NULL)
lnEdit = FindWindowEx(lnCombo, 0,'Edit',NULL)
CLEAR DLLS FindWindowEx &&, FindWindow
RETURN GetDisplayedText(lnEdit)
ENDFUNC