Most Microsoft applications use painted controls. That means that QTP, or any other test tool, can't see the object(s). What you will probably need to do is use Office Automation. AKA "OLE". It's really not that difficult but I haven't done it with Outlook for a several years so can't really give you any clues on how to get started. Might I suggest you look through the archives? I'm sure there's something in there on the subject.
basically I recorded a script that does the following:
opens the search toolbar (Tools > find > find)
enters the name of the email into the "look for" textbox (all the emails in my test have a unique name to identify them by)
wait(4) (wait for 4 secs for search to complete)
in outlook press the down arrow followed by return (this will open the email if it is there)
if the email is open then close it and perform an action on it
else if the email is not open an "untitled discussion" appears so close it and discard it
close the search toolbar so the test can loop if required
i could post the actual code for this but i've put it into a vb script and modified it so it wont be easy to understand. Let me know if this helps.
</font><blockquote><font size="1" face="Verdana, Arial, Helvetica">code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> Window("Message (HTML)_2".Page("Page".Link("www.hotmail.com").Click </pre><hr /></blockquote><font size="2" face="Verdana, Arial, Helvetica">have you tried using the object spy to check if the link is recognised by qtp?