[FONT=Courier New][COLOR=#0000FF]Private[/COLOR] [COLOR=#0000FF]Sub[/COLOR] DoIt()
[COLOR=#0000FF]Dim[/COLOR] lhWnd [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]Long
[/COLOR] [COLOR=#0000FF]Dim[/COLOR] lThreadID [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]Long
[/COLOR] [COLOR=#0000FF]Dim[/COLOR] lProcessID [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]Long
[/COLOR] [COLOR=#0000FF]Dim[/COLOR] RetInfo [COLOR=#0000FF]As[/COLOR] GUITHREADINFO
[COLOR=#0000FF]Dim[/COLOR] lpClassName [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]String
[/COLOR] lhWnd = GetForegroundWindow
[COLOR=#007A00]'the next few windows are tooltips_class32 class windows
[/COLOR] [COLOR=#007A00]'associated with the taskbar
[/COLOR] [COLOR=#0000FF]While[/COLOR] GetNextClassName(lhWnd) = "[COLOR=#7A0000]tooltips_class32[/COLOR]"
DoEvents
[COLOR=#0000FF]Wend
[/COLOR]
[COLOR=#007A00]'Whoops don't do this again
[/COLOR] 'Text1 = Text1 & GetNextClassName(lhWnd) & vbTab & Hex(lhWnd) & vbCrLf
[COLOR=#007A00]'get threadID of thatwindow
[/COLOR] lThreadID = GetWindowThreadProcessId(lhWnd, lProcessID)
[COLOR=#007A00]'and set focus back to that window
[/COLOR] SetForegroundWindow lhWnd
[COLOR=#007A00]'now get thread info
[/COLOR] RetInfo.cbSize = LenB(RetInfo)
[COLOR=#0000FF]Call[/COLOR] GetGUIThreadInfo(lThreadID, RetInfo)
[COLOR=#007A00]'hwndCaret is the child window we want
[/COLOR] Text1 = Text1 & Hex(RetInfo.hwndCaret) & vbTab & Hex(RetInfo.hwndActive) & vbCrLf
Clipboard.Clear
[COLOR=#0000FF]Call[/COLOR] PostMessage(RetInfo.hwndCaret, WM_COPY, 0&, 0&)
DoEvents
[COLOR=#007A00]'Check for valid Pasted data
[/COLOR] [COLOR=#0000FF]If[/COLOR] [COLOR=#0000FF]Not[/COLOR] Clipboard.GetFormat(vbCFText) [COLOR=#0000FF]Then
[/COLOR] MsgBox "[COLOR=#7A0000]Please select some text first.[/COLOR]", vbOKOnly
[COLOR=#0000FF]Else
[/COLOR] Text1 = Text1 & Clipboard.GetText & vbCrLf
[COLOR=#007A00]'CheckSpelling Clipboard.GetText
[/COLOR] [COLOR=#0000FF]End[/COLOR] [COLOR=#0000FF]If
[/COLOR]
[COLOR=#0000FF]End[/COLOR] [COLOR=#0000FF]Sub
[/COLOR]
[COLOR=#0000FF]Private[/COLOR] [COLOR=#0000FF]Function[/COLOR] GetNextClassName(lhWnd [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]Long[/COLOR]) [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]String
[/COLOR] [COLOR=#0000FF]Dim[/COLOR] lpClassName [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]String
[/COLOR] lhWnd = GetWindow(lhWnd, GW_HWNDNEXT)
lpClassName = Space(255)
GetClassName lhWnd, lpClassName, 255
GetNextClassName = Left(lpClassName, InStr(lpClassName, Chr(0)) - 1)
[COLOR=#0000FF]End[/COLOR] [COLOR=#0000FF]Function[/COLOR][/FONT]