add-in for outlook express
-
Amit Dey wrote: Is it off topic? I am afraid that it is. The poster wants to customize Outlook express toolbars and menus. I have just given a glance at the OE SDK you refer to and that's a good job. However, the COM layer you add to it makes it nice for anyone who would like to drive Outlook express from an external app. But this does not bring much for the purpose of building an Outlook express addin.
I have just posted another update here(ugh! html!?!) and you can take a look at the interface declarations and how to access everything thru raw OE object model. Interesting,huh!:) :rose:
Hush,hush... thought I heard you call my name now. Kula Shaker. Amit Dey Latest articles at CP -
PocketPC New menu Office addin -
I have just posted another update here(ugh! html!?!) and you can take a look at the interface declarations and how to access everything thru raw OE object model. Interesting,huh!:) :rose:
Hush,hush... thought I heard you call my name now. Kula Shaker. Amit Dey Latest articles at CP -
PocketPC New menu Office addin -
you are quite correct in the sense of a visual addin for outlook express. no, the ms docs do not seem to suggest this - although there are certain IOEExtension and IOEExtensionMenu interfaces, but I do not think such an extensibility is possible. So I'd like my SDK also to have some means of visually addin menu entries/toolbars. I need some help with this.
Hush,hush... thought I heard you call my name now. Kula Shaker. Amit Dey Latest articles at CP -
PocketPC New menu Office addinAmit Dey wrote: but I do not think such an extensibility is possible. So I'd like my SDK also to have some means of visually addin menu entries/toolbars. I need some help with this. The code I have posted above is an excerpt from PGP, which actually plugs itself in Outlook Express, along with a toolbar button and a menu option. This exemplifies how window hooking techniques can gain access to an arbitrary app.
-
I have just posted another update here(ugh! html!?!) and you can take a look at the interface declarations and how to access everything thru raw OE object model. Interesting,huh!:) :rose:
Hush,hush... thought I heard you call my name now. Kula Shaker. Amit Dey Latest articles at CP -
PocketPC New menu Office addinThis is more than nice. :-O Unless you intend to make business out of it, what about a Cp article ? After all, what people want is a way to drive the client email regardless of what the machine is configured to use. Since a lot of users end up with either Outlook or Outlook Express, what would be blasting is a common object model. Something even MS couldn't make (or actually didn't want to, only to promote a commercial product rather than a free product). [Edit]Be sure to get referenced so that a google search reaches you when anyone is searching for Outlook Express programming related stuff.[/Edit]
-
This is more than nice. :-O Unless you intend to make business out of it, what about a Cp article ? After all, what people want is a way to drive the client email regardless of what the machine is configured to use. Since a lot of users end up with either Outlook or Outlook Express, what would be blasting is a common object model. Something even MS couldn't make (or actually didn't want to, only to promote a commercial product rather than a free product). [Edit]Be sure to get referenced so that a google search reaches you when anyone is searching for Outlook Express programming related stuff.[/Edit]
I intend to write an article on CP with such headers and with some of my sample code snippets. It's as yet in the works, and I'm on it. But you must tell me, which month YOU are not publishing anything heavyweight - atleast that way my article stands a chance in the CP contest. :)
Hush,hush... thought I heard you call my name now. Kula Shaker. Amit Dey Latest articles at CP -
PocketPC New menu Office addin -
I intend to write an article on CP with such headers and with some of my sample code snippets. It's as yet in the works, and I'm on it. But you must tell me, which month YOU are not publishing anything heavyweight - atleast that way my article stands a chance in the CP contest. :)
Hush,hush... thought I heard you call my name now. Kula Shaker. Amit Dey Latest articles at CP -
PocketPC New menu Office addinAmit Dey wrote: I intend to write an article on CP with such headers and with some of my sample code snippets. It's as yet in the works, and I'm on it. Do it if you feel like doing it. That's will be certainly welcome especially if you add custom outlook express toolbar techniques, but you don't need to feel entitled to produce anything only as a consequence of our discussion. Amit Dey wrote: which month YOU are not publishing anything heavyweight Sadly, I have never won any competition, so I don't think I would prevent you from winning anything anyway.
-
Do you mean Outlook Express or MS Outlook?
Hush,hush... thought I heard you call my name now. Kula Shaker. Amit Dey Latest articles at CP -
PocketPC New menu Office addinI mean Outlook Express. I had gone through the sdk in your site, but I couldn't follow. Can you please expland it further, or can you breifly explain me how can i add a toolbar button and a menu in outlook express. Infact I tried to hook with windows as what S.Rod explained. I had gone through the PGP source but couldn't understad anything. can you help me.
-
I mean Outlook Express. I had gone through the sdk in your site, but I couldn't follow. Can you please expland it further, or can you breifly explain me how can i add a toolbar button and a menu in outlook express. Infact I tried to hook with windows as what S.Rod explained. I had gone through the PGP source but couldn't understad anything. can you help me.
Using my SDK, it is not possible to do anything userinterface like(i.e. dealing with msimn.exe), only serverside stuff, as Outlook Express uses it. So the only thing possible is to rewrite the whole Outlook Express user interface, using all existing mail related stuff thru the SDK. A daunting task! what you have to do basically is find the Window whose classname = "ThorBrowserWndClass" - Outlook Express 4 main window "Ath_Note" - each new message you create or read OE is this class "Outlook Express Browser Class" - main OE window for all ver. Then you subclass the windows WindowProc. The XXXPluginInfo calls save and store information with regards to your your plugin information - toolbar/menu that is implemented in a dll(__declspec(dllexport)!!). But yes, this code will only confuse you, unless the implementation is described too. I have tried using some very old code here on CP, that specifically drills down the OE window. Using Spy++ you could see that you need to use FindWindow() and FindWindowEx() API's to find- Outlook Express Browser Class | SizeableRebar | RebarWindow32(this is the parent band?) | 3 ToolbarWindow' s - i.e. OE's menu,toolband/rebarband/statusbar. But although I can get OE's main band, any addition to the band(as in Nick Hodapp's rebarband code on CP) does not show a new toolbar button or menu next to the last item, as expected. if you look at the msoe.dll(for OE6 - for 4.x it was called msimnui.dll??), you will see a function called LoadMappedBitmap(). but how to use it? I'm sure additions to toolbar/menu(as in msim) is very possible and works perfectly too. But how?? :)
Hush,hush... thought I heard you call my name now. Kula Shaker. Amit Dey Latest articles at CP -
PocketPC New menu Office addin -
There is no documented SDK for doing things like in Outlook Express. May be there is no SDK at all. Outlook Express, like a standard Windows app, has its toolbar and menus hooked by addins. For instance, PGP uses this technique :
__declspec(dllexport) void AttachOutlookExpressPlugin(HWND hwnd)
{
PluginInfo *plugin;
char szWndClass[1024];GetClassName(hwnd, szWndClass, 1023);
plugin = CreatePluginInfo(hwnd);
if (plugin == NULL)
return;// Save away old proc
SetProp(hwnd, "oldproc",
(HANDLE) GetWindowLong(hwnd, GWL_WNDPROC));// Subclass Outlook Express 4.x main window
if (!strcmp(szWndClass, "ThorBrowserWndClass"))
SetWindowLong(hwnd, GWL_WNDPROC, (DWORD) MainWndProc);// Subclass Outlook Express 5.x main window
else if (!strcmp(szWndClass, "Outlook Express Browser Class"))
{
plugin->bOE5 = TRUE;
SetWindowLong(hwnd, GWL_WNDPROC, (DWORD) MainWndProc);
}// Subclass Outlook Express message window
else if (!strcmp(szWndClass, "ATH_Note"))
SetWindowLong(hwnd, GWL_WNDPROC, (DWORD) UnknownWndProc);// Store the pointer to the plugin information
SavePluginInfo(hwnd, plugin);return;
}There are articles on Cp about hooking windows based on classnames, etc.
What I understand is first find the Window whose classname = "ThorBrowserWndClass" - Outlook Express 4 main window "Ath_Note" - each new message you create or read OE is this class "Outlook Express Browser Class" - main OE window for all ver. Then you subclass the windows WindowProc. The XXXPluginInfo calls save and store information with regards to your your plugin information - toolbar/menu that is implemented in a dll(__declspec(dllexport)!!). But please tell us more as how to specifically add toolband items? I have tried using some very old code here on CP, that specifically drills down the OE window. Using Spy++ you could see that you need to use FindWindow() and FindWindowEx() API's to find- Outlook Express Browser Class | SizeableRebar | RebarWindow32(this is the parent band?) | 3 ToolbarWindow' s - i.e. OE's menu,toolband/rebarband/statusbar. But although I can get OE's main band, any addition to the band(as in Nick Hodapp's rebarband code on CP) does not show a new toolbar button or menu next to the last item, as expected. Please show us the way!:cool:
Hush,hush... thought I heard you call my name now. Kula Shaker. Amit Dey Latest articles at CP -
PocketPC New menu Office addin -
Hi all, How can I add a toolbar button and a Menu to outlook express (not outlook express 2000)? I am using VC++ 6.0. one more thing is I don't know what is the user's OS and the version of outlook. I mean my program has to identify the os and outlook version automatically and add the component. Can anyone help me please? Thank you in advance.