Log in

View Full Version : What APIs place an icon in the taskbar notification area?


zambuka42
April 26th, 2009, 10:39
I want to keep a program from creating an icon in the taskbar notification area, but don't know what APIs to look to break on. Thanks for any help. -b

evaluator
April 26th, 2009, 15:06
LoadIconA /W

Kayaker
April 26th, 2009, 15:16
I'd place my sheckles on Shell_NotifyIcon(NIM_ADD, &nid);

zambuka42
April 26th, 2009, 15:37
thanks for the reply.. is it possible there are other apis? That one didn't work. Thanks. -b

zambuka42
April 27th, 2009, 02:21
Quote:
[Originally Posted by Kayaker;80291]I'd place my sheckles on Shell_NotifyIcon(NIM_ADD, &nid);


Sorry, didn't see your reply. I didn't find any reference to shell_notifyicon. Thanks for the reply.

I don't think there is any harm in my telling you what it is I'm trying to do.. I simply dislike the fact that outlook express places an icon in the taskbar notification area when new mail arrives and I want to disable it. This is a program anyone using Windows probably has on their drive.. so if anyone cares to take a look, maybe there's something I'm missing. (And yes, I've tried the breakpoints on the main exe as well as the msoe dll)

thanks

evlncrn8
April 27th, 2009, 09:45
http://msdn.microsoft.com/en-us/library/aa922175.aspx

zambuka42
April 27th, 2009, 10:03
Quote:
[Originally Posted by evlncrn8;80298]http://msdn.microsoft.com/en-us/library/aa922175.aspx


thanks for the link, but as i said, there no references to shell_notifyicon.

dELTA
April 27th, 2009, 15:14
When you say that there is "no reference", are you only looking in the static import table, or actually try to put a breakpoint on this API during runtime? If this feature is placed in a DLL (or even "worse", dynamically loaded), only the latter will work.

Kayaker
April 27th, 2009, 17:53
Why don't you do a bit of general reversing of the situation. I took a quick look today and noticed there is a Tooltip message on that icon, I forget the exact wording, something like "do you want to open the message" or something.

The tooltip is probably not too useful since it's embedded in NOTIFYICONDATA (or maybe that fact IS useful),

but there is also a right click menu item - "Hide the envelope" or similar. The menu selection itself, if you can trace it correctly, should guide you to the routine to hide the icon, which again should be a Shell_NotifyIcon call. If you can find the call which hides it, you should also be able to find the call which displays it.

Search for the tooltip and/or menu string, either in memory or a static directory search of all modules used by Outlook, and it should at least point you to the specific exe/dll you should be looking at.

zambuka42
April 28th, 2009, 01:09
Quote:
[Originally Posted by dELTA;80303]When you say that there is "no reference", are you only looking in the static import table, or actually try to put a breakpoint on this API during runtime? If this feature is placed in a DLL (or even "worse", dynamically loaded), only the latter will work.


I'm sorry, I should give more info. I'm using ollydbg and looking at the intermodular calls list for the apis to break on in both the main .exe and the two msoe.dlls in the directory. I found loadicon, but those were'nt the culprits and shell_notifyicon wasn't in the list at all.

Quote:
[Originally Posted by Kayaker;80307]Why don't you do a bit of general reversing of the situation. I took a quick look today and noticed there is a Tooltip message on that icon, I forget the exact wording, something like "do you want to open the message" or something.

The tooltip is probably not too useful since it's embedded in NOTIFYICONDATA (or maybe that fact IS useful),

but there is also a right click menu item - "Hide the envelope" or similar. The menu selection itself, if you can trace it correctly, should guide you to the routine to hide the icon, which again should be a Shell_NotifyIcon call. If you can find the call which hides it, you should also be able to find the call which displays it.

Search for the tooltip and/or menu string, either in memory or a static directory search of all modules used by Outlook, and it should at least point you to the specific exe/dll you should be looking at.


you know I hadn't thought of doing it that way. Thanks alot, I'll give it a shot.

disavowed
May 9th, 2009, 11:34
You can disable this from within Outlook. No need to do any reversing.
http://office.microsoft.com/en-us/outlook/HA101205831033.aspx

zambuka42
May 9th, 2009, 13:37
thanks for the link. While I had given up on this endeavor, I'd still prefer tackling it from a reversing perspective than this workaround. I never want anything hidden from that area except for that.. so from now on I will have to set new icons to 'never hide'. Thanks for responding though -Brian