I'm not MVP but... When working with "idispatch" type I encountered this function (_IEControlGetObjFromHWND), and actually dismantled it completely (it's called abstraction). At the end it lead me to the conclusion that the function could be written differently. I did manage to find the source of that function - yes it's Microsoft's suggestion. Of course that doesn't mean that it can't be done better. I think that function should look like this: Func _IEControlGetObjFromHWND($hWin) Local $