I have rules set to move some email messages into different folders. I would like this to still show the envelope in the notification area but there is no option in the rules wizard to do this. It looks like I would either have to have the rule "run a script" or "perform a custom action" allowing either vba or c/c++ respectively.
Anyone else have a better solution?
You can also achieve it not by using a rule, but doing the rule-like action in code. For example:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim mai As Object
Dim strEntryId
For Each strEntryId In Split(EntryIDCollection, ",")
Set mai = Application.Session.GetItemFromID(strEntryId)
If mai.Parent = "Inbox" Then
If mai.SenderEmailAddress = "the-email-address-the-rule-applies-to" Then
mai.Move Application.GetNamespace("MAPI").GetFolderFromID("the-entry-ID-of-the-folder-you-want-to-move-the-message-to")
End If
End If
Set mai = Nothing
Next
End Sub
How to get the folder ID (i.e., entryID of the folder):
This is just a manual way, you could make a recursive procedure but for simple purposes this is fine. For instance, I had a structure like:
Mailbox - My_Name_Here
Inbox
The Subfolder I'm Looking For
Sent Items
...
So in the Immediate window I typed:
? Application.GetNamespace("MAPI").Folders(1)
and increased the number until I got "Mailbox - My_Name_Here"
then, I typed:
? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(1)
increasing the number until I got "Inbox".
Then:
? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(the_number_of_my_Inbox).Folders(1)
increasing the number until I got "The Subfolder I'm Looking For"
Then:
? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(the_number_of_my_Inbox).Folders(the_number_of_the_subfolder_i_was_looking_for).EntryID
And that was it: the entryID of the folder I wanted to move the message to. You get the point, I'm sure :)
Check out MailAlert, an Outlook plug-in that does exactly that. It still works in Outlook 2007 (although I've had some instabilities since I installed it again recently, which may or may not be related).
The new version of Mail Alert, which was just released, will allow you to control the notification icon as well as the popup alert and sound alerts. Here are some of the new features in 2.0:
Audible alerts - plays a sound for incoming e-mails
Notification area alerts - displays a notification area (system tray) icon
Program alerts - runs a program and can pass information from the incoming e-mail to that program
Mute feature - to quickly suppress all alerts
Microsoft Outlook 2007 support
Multi-monitor support
Unicode Exchange server support
And more desktop alert features:
Aero Glass style alert windows (on Windows Vista)
Ability to easily dismiss the alert window
Ability to quickly open, reply [to all] or forward a message directly from the alert window's buttons
Ability to convert a message into a task, flag a message for follow up or move a message to another folder; all directly from the alert window's context menu
Ability to set the default position of alerts to be where ever you want them
Privacy option to require a click before showing the preview of the message body
there is an option "display a Desktop Alert" on the Step 1 of the Rules Wizard. it does the trick. this wizard can be run when editing the concrete rule.
Related
Do you know how can I detect when my Outlook AddIn TAB is visible/selected at some moment?
My problem: sometimes users press the Outlook default SEND button instead my own SEND button (required for some posterior processing) and I would like to detect it to call the user's attention.
The problem is also that, users CAN press the default SEND button for messages not related/addressed to some recipients...
Objectively: if the user is, at the moment, in my TAB, I send a MessageBox to him, otherwise I don't.
Thank you!
In any web browser and in the Windows file manager and in many other applications there is support for forward and backward navigation. This always (or at least most of the time) by default works with extra mouse buttons if your mouse has any.
I want to implement this in a C++ application I'm making based on WinAPI. However I wonder how one would do this? Are the mouse buttons captured "manually" in each application that has this forward/backward navigation or is there native support for it somewhere in WinAPI?
Manually capturing the buttons is probably always an option, but if there already is an existing functionality that handles this then it seems like that should be used instead. That's probably more reliable as well.
To sum up: I want my application to correctly handle/receive backward and forward clicks from a mouse that has such buttons.
The WM_APPCOMMAND message offers the APPCOMMAND_BROWSER_FORWARD ("Navigate forward") and APPCOMMAND_BROWSER_BACKWARD ("Navigate backward") navigation commands. You can handle them in your application, even if it's not a browser.
The documentation has information, how and when the WM_APPCOMMAND is generated:
DefWindowProc generates the WM_APPCOMMAND message when it processes the WM_XBUTTONUP or WM_NCXBUTTONUP message, or when the user types an application command key.
I'm writing a notepad program in MS C++ 2010 Express with Win32. So far whenever the user opens or saves the document, it updates the status bar with the saved / opened filename. I also want to change the status bar to the current filename everytime a different MDI is activated. How would I do this?
Your MDI child windows will get WM_MDIACTIVATE messages whenever their activation state changes - you then just have to pass that notification back to your top-level window in some way (via a custom message probably - you could even send the filename at the same time) to get it to update the status bar.
By the way, the MDI concept is more or less deprecated and Microsoft advise against using it in new applications:
Many new and intermediate users find it difficult to learn to use MDI
applications. Therefore, you should consider other models for your
user interface. However, you can use MDI for applications which do not
easily fit into an existing model
For a notepad-type application the "modern" way to do this would be via a tabbed interface.
This is what you need.
Send WM_MDIGETACTIVE to the current client to ge the active client.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms644915%28v=vs.85%29.aspx
I need to add ability to catch event each time there is mouse hover event both on Linux and Windows. In Linux I easily connect to hovering-over-link signal. I cannot seem to find Windows equivalent. Searched google, checked the MSDN, I could not find.
Does Such a functionality available in windows? If no is there a way to achieve it?
Can you use the StatusTextChange event? This event is fired when the mouse is hovered over a link, with sText set to the link URL.
It is also fired with additional messages such as when loading a page. In these cases, sText is set to "Connecting to (URL)", "Waiting for (URL)", etc. These messages can be simply ignored by doing a basic URL validation of sText.
A more involved method would be in the DocumentComplete event to search for all anchor elements using getElementsByTagName and attach to the HTMLAnchorEvents onmouseover. This of course wouldn't work for anchor elements dynamically created after page load.
I want to get an event to my application when someone presses the Home button:
(The silvery button with an arrow pointing left is the Home Button on the HTC Smart.)
However, when I press the button, no event at all arrives to my app. If I connect the system logger, I see that the Brew MP OS itself detects something, but it does not arrive to my app.
[CORE] CoreDaemon_HandleEvent: 111
[CORE] CoreDaemon_HandleEvent: 112
Can I register with these events so the OS passes them on to me? (Or whatever it takes to detect the home button in my app.)
I suspect the [ISHELL_RegisterNotify][2] function may be what I am looking for, but I don't know how to use it. I tried:
ISHELL_RegisterNotify(piShell, AEECLSID_OF_MY_APP, AEECLSID_CORE, NMASK_SHELL_KEY |(NOTIFIER_VAL_ANY << 16));
That didn't work, neither this:
ISHELL_RegisterNotify(piShell, AEECLSID_OF_MY_APP, AEECLSID_CORE, ~0);
I kind of hoped that last one would get me all "core" events, but neither of those two made any difference at all.
The app will first receive an EVT_KEY with wParam=63620 and then immediately get the EVT_APP_SUSPEND event.
Hence, as far as I understand, the "Home Button" can not be used in any meaningful way by Brew applications for input.