Démarrez Outlook automatiquement dans la barre d'état


11

Existe-t-il un moyen de démarrer Outlook automatiquement lors de la connexion, mais réduit à la barre d'état système (zone de notification)? Je ne veux pas que ma boîte de réception s'affiche en face lorsque je démarre mon PC, seulement une notification discrète lorsque de nouveaux messages arrivent.

J'utilise Outlook 2003, si cela importe.


1
Jetez un œil à cet article: support.microsoft.com/kb/251340
Reorx

@Reorx en fait une réponse
kinokijuf

Réponses:


15

Outlook 2010 (x86) sur Windows 7 (x64): lancement et réduction dans la barre d'état système au démarrage

Je sais que ce fil est un peu ancien; cependant, une recherche sur le Web révèle de nombreux comptes de ce problème et je n'ai pas pu trouver celui qui fournit une solution de travail. Pour une raison quelconque, les solutions normales à ce problème ne fonctionnent pas dans tous les cas.

Problème:

  • Lors de la connexion initiale, l'icône Outlook reste visible dans la barre des tâches, forçant une personne à restaurer la fenêtre, puis à la réduire manuellement avant qu'Outlook ne se retire de la barre des tâches.
  • Le simple fait d'ajouter le raccourci Outlook au dossier de démarrage et de sélectionner Masquer lorsque réduit dans le menu contextuel de l'icône de la barre Outlook ne résout pas le problème.
  • L'utilisation de l'indicateur / Min à partir d'un fichier de commandes ou d'un raccourci ne fonctionne pas non plus.

Solution:

  1. Ouvrez Outlook manuellement et cliquez avec le bouton droit sur l'icône de la barre d'état Outlook pour vérifier que Masquer lorsque réduit est coché.
  2. Créez un nouveau fichier texte et insérez le code suivant.

    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! Assurez-vous de changer PATH_TO_OUTLOOKpour refléter l'emplacement réel de votre installation.

  4. Renommez le fichier texte en celui que vous souhaitez avec une .vbsextension afin de forcer Windows à le reconnaître comme un VBScript.

Optionnel:

  1. Stockez le script où vous le souhaitez.
  2. Créez un raccourci vers le script et placez-le à la place dans le dossier Démarrage.
  3. Cliquez avec le bouton droit sur le raccourci et sélectionnez les propriétés.
  4. À l'aide du bouton Changer d'icône , accédez à l'emplacement de l'exécutable Outlook et sélectionnez l'icône Outlook stockée dans l'exécutable.

Amélioration des performances:

Au lieu de placer le script ou un raccourci vers le script dans le dossier de démarrage, le registre peut être modifié afin d'exécuter le script immédiatement à la connexion.

  1. Suivez les étapes 1 à 4 de la section Solution ci-dessus.
  2. Placez le script où vous le souhaitez.
  3. Ajoutez une nouvelle valeur de chaîne ou une nouvelle valeur de chaîne extensible si nécessaire à la clé de Registre HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.
  4. Nommez-le comme vous le souhaitez.
  5. Modifiez la nouvelle valeur que vous avez créée avec le chemin d'accès au script.

Je remarque que vous avez un utilisateur non enregistré et enregistré - Vous pouvez, et vous devez certainement les fusionner en utilisant le lien contactez-nous en bas de la page
Journeyman Geek

Fonctionne très bien avec Windows 8.1 et Office 2013! La seule chose qui doit changer est que le PATH_TO_OUTLOOK devrait être Office15 au lieu d'Office14. Vous devez également ajouter HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Preference\MinToTrayau registre avec une valeur de 1.
Nate

Lorsque j'exécute ce script manuellement à partir de mon dossier de démarrage, il démarre minimisé, mais l'icône Outlook est bloquée dans ma barre des tâches. Je l'aime seulement dans mon bac. Lorsque j'active Outlook avec l'icône de la barre des tâches, puis que je la minimise, il va dans la barre d'état et laisse la barre des tâches comme prévu.
rolandow

@rolandow Le problème avec l'icône restant dans la barre des tâches est mentionné dans la première partie de la description du problème. S'il ne fonctionne pas correctement, il s'agit très probablement d'un problème de synchronisation. J'ai trouvé que l'ajouter au registre comme suggéré résout généralement les problèmes de synchronisation dus à la façon dont Windows exécute les éléments lors du démarrage. Vous pouvez également essayer de modifier la valeur de la valeur Wscript.Sleep (XXX).
Jason

7

Outlook n'a pas de fonctionnalité intégrée pour cela, mais vous pouvez utiliser la startcommande:

  1. Créez un raccourci dans votre dossier de démarrage pointant qui exécute la commande

    cmd /c start /min "" "FullPathOfOutlook.exe"
    

    ou un fichier batch contenant la commande

    @start /min "" "FullPathOfOutlook.exe"
    
  2. Cliquez avec le bouton droit sur l'icône de la barre d'état et cochez Masquer une fois réduit .


Ne marche pas. Outlook démarre toujours agrandi.
kinokijuf

Peut-être que je n'étais pas clair. J'utilise la méthode ci-dessus (avec le fichier de commandes) sur mon ordinateur. Ça marche.
Dennis

Quelle version d'Outlook avez-vous?
kinokijuf

Outlook 2007, mais cela ne devrait pas avoir d'importance. J'utilise startpour minimiser de nombreuses applications de démarrage, et cela fonctionne avec toutes.
Dennis

Je peux confirmer ce que dit Dennis. Sur ma machine XP avec Outlook 2003, j'utilise start /min "" "C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.exe"dans un fichier de commandes dans le dossier de démarrage et il s'ouvre minimisé lorsque je me connecte. Je fais de même avec mon Win7 / Outlook 2010, mais juste un chemin différent.
jb11

0

si vous pouvez ouvrir Outlook à partir de la ligne de commande en tapant outlook.exe, créez un fichier de commandes comprenant ce code start /b /min outlook.exeet placez-le dans votre dossier de démarrage Windows.


0

Lorsque vous utilisez des guillemets avec la commande START sur Windows 7 avec Outlook 2010, une nouvelle fenêtre de commande s'ouvre, mais Outlook ne se lance pas. Cela se produit avec les versions 32 bits des éditions Windows 7 Pro et Enterprise (les deux avec les mises à jour les plus récentes). Je ne peux pas dire si cela se produit avec des versions 64 bits ou d'autres éditions.

Pour résoudre ce problème, vous devez omettre toutes les guillemets qui entourent le "chemin \ programme" que vous souhaitez lancer avec la commande START. Cependant, étant donné qu'il y a généralement des espaces dans le nom du chemin, vous recevrez probablement une erreur différente, sauf si vous tronquez le chemin (raccourcissez-le). Les noms tronqués dans le chemin d'accès peuvent varier si plusieurs produits Microsoft sont installés. Pour obtenir le chemin tronqué correct, utilisez la ligne de commande suivante à une invite DOS (dans une fenêtre CMD): FOR / D% T IN ("C: \ Program Files \ Microsoft Office \ Office14 \ Outlook") DO ECHO% ~ sT

Voici un exemple qui a fonctionné pour moi lors de l'utilisation des résultats obtenus ci-dessus: START / MIN C: \ Progra ~ 1 \ Micros ~ 1 \ Office14 \ Outlook

REMARQUE: Office14 fait référence à la version 2010 tandis qu'Office12 fait référence à la version 2007. Notez également que le .exe à la fin d'Outlook.exe n'est pas requis dans ces lignes de commande.


Y a-t-il une raison pour laquelle vous pensez que c'est mieux que start /min "" "FullPathOfOutlook.exe"?
Scott

0

J'ai utilisé le code ci-dessus pendant un temps considérable et je remercie tous les contributeurs précédents d'avoir partagé leur travail / améliorations / suggestions. Récemment cependant, j'ai rencontré deux problèmes importuns et irritants lorsqu'il est utilisé avec Windows 10 (64 bits) et Outlook 2016 (64 bits):

  1. L'icône Outlook dans la barre d'état système affiche une superposition «engrenage» avec le message «Un autre programme utilise Outlook. Pour déconnecter des programmes et quitter Outlook, cliquez sur l'icône Outlook, puis sur Quitter maintenant».

  2. Les tentatives d'ouverture d'Outlook à partir du menu contextuel "Ouvrir Outlook" (clic droit sur l'icône Outlook dans la barre d'état) font apparaître une boîte de dialogue indiquant "Aucun objet d'exploration actif trouvé". Cliquer sur l'option "OK" en réponse lance Outlook (bien que le problème 1 - superposition de rouage) reste.

Afin de résoudre les problèmes ci-dessus, je me suis mis à trouver un code similaire que je pourrais compiler pour répondre aux objectifs souhaités de l'affiche originale (qui reflètent mes propres exigences).

Le code ci-dessous est offert "tel quel" pour le plus grand bénéfice des autres SuperUtilisateurs, il est important de noter que même si j'ai testé le code sur deux systèmes W10 64 bits (tous deux avec 64 bits Office installé), je dois encore résoudre un RunTime problème sur l'un des systèmes. Les autres fonctions fonctionnent parfaitement. Tous les détails peuvent être consultés ici si nécessaire: /programming/45533261/start-outlook-2016-64-bit-automatically-minimised-to-windows-10-64-bit-syste

Je vous tiendrai au courant de tout développement au fur et à mesure que les tests se poursuivront .......

** Mise à jour rapide ** Maintenant testé sur l'ordinateur portable HP Elitebook 8440P - Windows 10 Pro 64 bits avec Office 64 bits + mêmes 12 modules complémentaires Outlook - Fonctionne parfaitement selon les exigences décrites dans le post original ci-dessus .....

** Mise à jour supplémentaire ** Testé sur un deuxième ordinateur portable HP Elitebook 8440P - Windows 10 Pro 64 bits avec Office 64 bits + mêmes 12 modules complémentaires Outlook - Erreur RunTime rencontrée à nouveau :(

OPTION EXPLICIT

Dim WshShell
Dim OLObj 
Set WshShell = WScript.  CreateObject ( "Wscript.Shell" ) 
'Open Outlook: Note that inspite of the launch options, it will open the program in a normal window.
'The file location path is not necessary as Windows 10 correctly identifies Outlook's location.
WshShell.Run "OUTLOOK.EXE" , 3, false 
'This will mimimise it to the system tray after a 10 second pause to allow for mail collection on Outlook launch.
WScript.Sleep (10000)
Set OLObj = GetObject("","Outlook.Application")
'Activates the window
OLObj.ActiveExplorer.Activate
'Sends the command to minimise
OLObj.ActiveExplorer.WindowState = 1
'Outlook does not immediately minimise to the system tray so that 'Send/Receive' can initiate mail collection.

0

J'ai fait quelques recherches et tests et j'ai finalement trouvé que le code vbscript suivant fonctionnait dans mon ordinateur portable Win10:

set shell = createobject("wscript.Shell")
shell.run "outlook.exe", 7, False     '... SH_SHOWMINNOACTIVE=7 "should" work
shell.sendkeys "% n"     ' ... Minimize Alt Space Bar - n

Définissez-le simplement comme une action dans le Planificateur de tâches et faites-le comme vous créez une application de démarrage.


0

J'aime la réponse du haut, mais je n'aime pas que ce soit dans CScript ... Donc je l'ai fait dans PowerShell ...

Il fonctionne parfaitement avec Windows 10 et Office 365.

Couleur formatée ici: https://gist.github.com/NotoriousPyro/d30a96d2a89cf783ef3081b13d4816a0

<#
.Synopsis

Automatically finds, runs and places Outlook into the system tray.

.Description

Automatically finds, runs and places Outlook into the system tray.
By default, Outlook will start full-screen even when you have the option to minimize tray enabled and start the app as minimized.

This requires that the OUTLOOK.EXE tray icon is enabled and that the minimize to tray option is on.

Author: NotoriousPyro (Craig Crawford)

#>

$autostartOutlook = $true

$outlook = Invoke-Command -ScriptBlock {
    $versions = Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Office" | Where-Object { $_.Name -like '*.*' } | Sort-Object -Property Name -Descending

    $outlookexe = $versions.ForEach({
        $path = 'Registry::' + $_.Name
        try
        {
            $versionPath = Get-ItemProperty -LiteralPath (Join-Path $path 'Outlook\InstallRoot') -Name Path -ErrorAction SilentlyContinue
            $installRoot = ($versionPath).Path
        }
        catch {}

        if ($installRoot -ne $null)
        {
            $outlookexe = Join-Path $installRoot 'OUTLOOK.EXE'

            if (Test-Path -Path $outlookexe)
            {
                return $outlookexe
            }
        }
    })
    return $outlookexe
}

Add-Type -TypeDefinition '
public enum ShowStates
{
    Hide = 0,
    Normal = 1,
    Minimized = 2,
    Maximized = 3,
    ShowNoActivateRecentPosition = 4,
    Show = 5,
    MinimizeActivateNext = 6,
    MinimizeNoActivate = 7,
    ShowNoActivate = 8,
    Restore = 9,
    ShowDefault = 10,
    ForceMinimize = 11,
}
'

$User32Definition = @'
    [DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
    [DllImport("user32.dll")] public static extern bool IsWindowVisible(IntPtr hWnd);
'@

# add signature as new type to PowerShell (for this session)
$User32 = Add-Type -MemberDefinition $User32Definition -Name User32 -PassThru

$maxLoops = 10; $loops = 0

do
{
    $outlookHandle = Get-Process OUTLOOK -ErrorAction SilentlyContinue

    if (-not $outlookHandle -and $autostartOutlook)
    {
        Write-Verbose "Starting OUTLOOK.EXE from $outlook"
        Start-Process $outlook
        Start-Sleep -Seconds 2
    }

    if ($outlookHandle)
    {
        $windowHandle = $outlookHandle.MainWindowHandle

        Write-Verbose "OUTLOOK.EXE is running..."

        if ($User32::IsWindowVisible($windowHandle))
        {
            Write-Verbose "OUTLOOK.EXE is visible... attempting to minimize..."

            $minimized = $User32::ShowWindowAsync($windowHandle, [ShowStates]::Minimized)

            Start-Sleep -Seconds 2

            if (-not $minimized)
            {
                Write-Verbose "Failed to minimize OUTLOOK.EXE... Outlook may still be starting..."
                $outlookHandle = $null
            }
            elseif (-not $User32::IsWindowVisible($windowHandle))
            {
                Write-Verbose "OUTLOOK.EXE is now minimized"
                break;
            }
        }
        else
        {
            Write-Verbose "OUTLOOK.EXE not visible..."
            break;
        }
    }

    Write-Verbose "Waiting for OUTLOOK.EXE to be ready, attempt: $loops of $maxLoops"

    $loops += 1
}
until ($outlookHandle -ne $null -or $loops -ge $maxLoops)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.