Code Red => VB(A) => Topic started by: Keith™ on October 12, 2004, 11:56:57 PM

Title: API Anyone?
Post by: Keith™ on October 12, 2004, 11:56:57 PM
Ok... I am attempting to do something that microsoft has already said is not possible to do.... at least they have not defined an API for the purpose of doing it....

What I want to do is....

Create a program in VB or VBA that will open Outlook Express (not Outlook)... I can do that using the GetObject call without incident, but I want to identify all of the message folders as defined in the ThorTreeViewList control (or whatever it is called) .. I have isolated the FramePane for the folders and the tree view control, but now I need a little nudge in the API field for obtaining the values associated with the control. Were I writing the application (rather than extend the functionality) I could use the class object and retrieve it that way, but alas I need to do it all in VB(a).... any ideas?
Title: API Anyone?
Post by: MP on October 14, 2004, 02:22:56 PM
Dunno Keith, that kind of stuff generally requires iterating thru the processes and child processes, and then interogating the appropriate process for the info you're looking for. has links to many sites with api code to perform such wizardry.

Back few months I tossed a process viewer together using said info. Here's a map of a couple main panes in outlook express using said utility (for what it's worth) ...

Edit: Image snipped - of little value for the bandwidth it consumed.

Doubt it's of any use but it's what I had time for.

Title: API Anyone?
Post by: Keith™ on October 14, 2004, 04:00:39 PM
That is pretty much what I have done in VBA ... essentially I used Spy++ to identify the main window, pane frame and ThorTreeViewWndClass ... I now need to be able to send a message to the TreeView to return the list of folders.... then the task of extracting the emails will be a little easier...either that or someone point me to the simplest means by which I can read the registry, get the current user mail folder, extract the mail files, then extract the mail from the file itself... is there a documented file format for the mail files?
Title: API Anyone?
Post by: MP on October 14, 2004, 04:11:58 PM
The format is proprietary (*.dbx files, but having nothing to do with Autesk's format by the same name), but I recall seeing a couple utilities years ago that would allow you to backup, save to other formats,  etc. so somewhere the details of the format have to be published if you know the right handshake. Google it; see what ya find. Report back. :)

PS -- One thing I've done in the passed (if this is an archival issue of your own data) is simply copy the contents of an Outlook Express folder to a folder (directory) OUTSIDE of Outlook express, using dumb old drag and drop (undocumented I think). I then wrote a quick program to scan thru the resulting text files, pulling data that I wanted. My program ripped thru the data fast; the copying to a folder exercise was VERY SLOW; you'll think your PC died. It hasn't.

Over and out.
Title: API Anyone?
Post by: Keith™ on October 14, 2004, 04:24:07 PM
Actually what I was wanting to do is have mail that is sent to a specific mail folder via a form on a web site, (using rules) and extract the data from the fields, such as NAME, ADDRESS, TELEPHONE#, etc....

I could always have the server write a CDF file and then download the file on a regular basis, but I wanted to not have the information stored on the server for security purposes....and to make it faster for me to retrieve and sort.