very thanks,Have you got other way? eg: I use IHTMLDocument2 interface, call IHTMLDocument2::get_selection() get a IHTMLSelectionObject interface, and call IHTMLSelectionObject::createRange() get IDispatch then I didn't know how to get innerHTML From IDispatch. my idea was born from a javascript function(document.selection.createRange().innerHTML)