Outlook – Start Outlook automatically in tray

bootmicrosoft-outlookmicrosoft-outlook-2003notification-area

Is there a way to start up Outlook automatically on login, but minimised to system tray (notification area)? I don’t want my inbox showed in my face when I start my PC, only a discrete notification when new mail arrives.

I’m using Outlook 2003, if that matters.

Best Answer

Outlook 2010 (x86) on Windows 7 (x64): Launch and Minimize to System Tray on Startup

I know this thread is somewhat old; however, a web search turns up numerous accounts of this problem and I have been unable to find one that provides a working solution. For whatever reason, the normal solutions to this issue do not work in all cases.

Problem:

  • On initial login, the Outlook icon remains visible on the Taskbar forcing one to restore the window and then minimize manually before Outlook will remove itself from the Taskbar.
  • Simply adding the Outlook shortcut to the Startup folder and selecting Hide When Minimized from the context menu of the Outlook Tray Icon does not solve the issue.
  • Using the /Min flag from a batch file or shortcut doesn't work either.

Solution:

  1. Open Outlook manually and right-click the Outlook Tray Icon to verify that Hide When Minimized is checked.
  2. Create a new text file and insert the following code.

    OPTION EXPLICIT
    
    CONST PATH_TO_OUTLOOK = """C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE"""
    CONST SHOW_MAXIMIZED = 3
    CONST MINIMIZE = 1
    
    DIM shell, outlook
    
    SET shell = WScript.CreateObject("WScript.Shell")
    
    ' Open Outlook
    shell.Run PATH_TO_OUTLOOK, SHOW_MAXIMIZED, FALSE
    
    ON ERROR RESUME NEXT
    
    ' Grab a handle to the Outlook Application and minimize 
    SET outlook = WScript.CreateObject("Outlook.Application")
    WScript.Sleep(100)
    outlook.ActiveExplorer.WindowState = SHOW_MAXIMIZED
    
    ' Loop on error to account for slow startup in which case the
    ' process and/or the main Outlook window is not available
    WHILE Err.Number <> 0
      Err.Clear
      WScript.Sleep(100)
      SET outlook = NOTHING
      SET outlook = WScript.CreateObject("Outlook.Application")
      outlook.ActiveExplorer.WindowState = MINIMIZE
    WEND
    
    ON ERROR GOTO 0
    
    SET outlook = NOTHING
    SET shell = NOTHING
    
  3. IMPORTANT! Be sure to change PATH_TO_OUTLOOK to reflect the actual location of your installation.

  4. Rename the text file to whatever you would like with a .vbs extension in order to force Windows to recognize it as a VBScript.

Optional:

  1. Store the script anywhere you would like.
  2. Create a shortcut to the script and place it in the Startup folder instead.
  3. Right-click the shortcut and select properties.
  4. Using the Change Icon button, browse to the location of the Outlook executable and select the Outlook icon stored within the executable.

Performance Improvement:

Instead of placing the script or a shortcut to the script in the Startup folder, the registry can be edited in order to run the script immediately at login.

  1. Follow steps 1-4 in the Solution section above.
  2. Place the script anywhere you would like.
  3. Add a new String Value or a new Expandable String Value if necessary to the registry key HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.
  4. Name it whatever you would like.
  5. Modify the new value you created with the path to the script.
Related Question