Starten Sie Outlook automatisch in der Taskleiste

11

Gibt es eine Möglichkeit, Outlook beim Anmelden automatisch zu starten, jedoch auf die Taskleiste (Benachrichtigungsbereich) zu minimieren? Ich möchte nicht, dass mein Posteingang beim Starten meines PCs in meinem Gesicht angezeigt wird, sondern nur eine diskrete Benachrichtigung, wenn neue E-Mails eingehen.

Ich verwende Outlook 2003, wenn das wichtig ist.

kinokijuf
quelle
1
Schauen Sie sich diesen Artikel an: support.microsoft.com/kb/251340
Reorx
@Reorx machen dies eine Antwort
kinokijuf

Antworten:

15

Outlook 2010 (x86) unter Windows 7 (x64): Starten und beim Start in die Taskleiste minimieren

Ich weiß, dass dieser Thread etwas alt ist; Bei einer Websuche werden jedoch zahlreiche Berichte zu diesem Problem angezeigt, und ich konnte keinen finden, der eine funktionierende Lösung bietet. Aus irgendeinem Grund funktionieren die normalen Lösungen für dieses Problem nicht in allen Fällen.

Problem:

  • Bei der ersten Anmeldung bleibt das Outlook-Symbol in der Taskleiste sichtbar, sodass das Fenster wiederhergestellt und dann manuell minimiert werden muss, bevor Outlook sich selbst aus der Taskleiste entfernt.
  • Durch einfaches Hinzufügen der Outlook-Verknüpfung zum Startordner und Auswählen von "Bei Minimierung ausblenden" im Kontextmenü des Outlook-Taskleistensymbols wird das Problem nicht behoben.
  • Die Verwendung des Flags / Min aus einer Batchdatei oder einer Verknüpfung funktioniert ebenfalls nicht.

Lösung:

  1. Öffnen Sie Outlook manuell und klicken Sie mit der rechten Maustaste auf das Outlook-Taskleistensymbol, um zu überprüfen, ob "Bei Minimierung ausblenden" aktiviert ist.
  2. Erstellen Sie eine neue Textdatei und geben Sie den folgenden Code ein.

    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. WICHTIG! PATH_TO_OUTLOOKStellen Sie sicher, dass Sie Änderungen vornehmen, um den tatsächlichen Standort Ihrer Installation wiederzugeben.

  4. Benennen Sie die Textdatei mit einer .vbsErweiterung in eine beliebige Datei um, um Windows zu zwingen, sie als VBScript zu erkennen.

Optional:

  1. Speichern Sie das Skript an einem beliebigen Ort.
  2. Erstellen Sie eine Verknüpfung zum Skript und legen Sie sie stattdessen im Startordner ab.
  3. Klicken Sie mit der rechten Maustaste auf die Verknüpfung und wählen Sie Eigenschaften aus.
  4. Navigieren Sie mit der Schaltfläche Symbol ändern zum Speicherort der ausführbaren Outlook-Datei und wählen Sie das in der ausführbaren Datei gespeicherte Outlook-Symbol aus.

Leistungsverbesserung:

Anstatt das Skript oder eine Verknüpfung zum Skript im Startordner abzulegen, kann die Registrierung bearbeitet werden, um das Skript sofort bei der Anmeldung auszuführen.

  1. Befolgen Sie die Schritte 1 bis 4 im obigen Abschnitt " Lösung ".
  2. Platzieren Sie das Skript an einer beliebigen Stelle.
  3. Fügen Sie einen neuen Zeichenfolge oder einen neuen Wert der erweiterbaren Zeichenfolge erforderlich , wenn auf den Registrierungsschlüssel HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.
  4. Nennen Sie es wie Sie möchten.
  5. Ändern Sie den neuen Wert, den Sie mit dem Pfad zum Skript erstellt haben.
Jason
quelle
Ich stelle fest, dass Sie einen nicht registrierten und einen registrierten Benutzer haben - Sie können und sollten diese zusammenführen, indem Sie den Link Kontakt unten auf der Seite verwenden
Journeyman Geek
Funktioniert hervorragend mit Windows 8.1 und Office 2013! Das einzige, was geändert werden muss, ist, dass PATH_TO_OUTLOOK Office15 anstelle von Office14 sein sollte. Außerdem müssen Sie HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Preference\MinToTrayder Registrierung einen Wert von 1 hinzufügen .
Nate
Wenn ich dieses Skript manuell aus meinem Startordner ausführe, wird es minimiert gestartet, aber das Outlook-Symbol bleibt in meiner Taskleiste hängen. Ich möchte es nur in meinem Tablett. Wenn ich Outlook mit dem Taskleistensymbol aktiviere und es dann minimiere, wird es in die Taskleiste verschoben und verlässt die Taskleiste wie erwartet.
Rolandow
@rolandow Das Problem mit dem Symbol in der Taskleiste wird im ersten Teil der Problembeschreibung erwähnt. Wenn es nicht richtig funktioniert, liegt höchstwahrscheinlich ein Zeitproblem vor. Ich habe festgestellt, dass das Hinzufügen zur vorgeschlagenen Registrierung normalerweise alle Zeitprobleme aufgrund der Art und Weise behebt, wie Windows Elemente während des Startvorgangs ausführt. Sie können auch versuchen, den Wert des Wscript.Sleep (XXX) -Werts zu ändern.
Jason
7

Outlook verfügt hierfür über keine integrierte Funktion. Sie können jedoch den folgenden startBefehl verwenden:

  1. Erstellen Sie in Ihrem Startordner eine Verknüpfung, die auf den Befehl verweist

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

    oder eine Batchdatei, die den Befehl enthält

    @start /min "" "FullPathOfOutlook.exe"
    
  2. Klicken Sie mit der rechten Maustaste auf das Taskleistensymbol und aktivieren Sie Ausblenden, wenn es minimiert ist .

Dennis
quelle
Funktioniert nicht. Outlook wird weiterhin maximiert gestartet.
Kinokijuf
Vielleicht war ich nicht klar. Ich verwende die obige Methode (mit der Batch-Datei) auf meinem Computer. Es klappt.
Dennis
Welche Outlook-Version haben Sie?
Kinokijuf
Outlook 2007, aber das sollte keine Rolle spielen. Ich verwende, startum viele Startanwendungen zu minimieren, und es funktioniert mit allen.
Dennis
Ich kann bestätigen, was Dennis sagt. Auf meinem XP-Computer mit Outlook 2003 verwende ich start /min "" "C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.exe"eine Batchdatei im Startordner und sie wird beim Anmelden minimiert geöffnet. Ich mache dasselbe mit Win7 / Outlook 2010, aber nur mit einem anderen Pfad.
jb11
0

Wenn Sie Outlook über die Befehlszeile durch Eingabe öffnen können outlook.exe, erstellen Sie eine Batchdatei mit diesem Code start /b /min outlook.exeund legen Sie sie in Ihrem Windows-Startordner ab.

Renju Chandran Chingath
quelle
0

Wenn Sie unter Windows 7 mit Outlook 2010 Anführungszeichen mit dem Befehl START verwenden, wird ein neues Befehlsfenster geöffnet, Outlook wird jedoch nicht gestartet. Dies geschieht mit den 32-Bit-Versionen der Editionen Windows 7 Pro und Enterprise (beide mit den neuesten Updates). Ich kann nicht sagen, ob es mit 64-Bit-Versionen oder anderen Editionen passiert.

Um dieses Problem zu beheben, müssen Sie alle Anführungszeichen weglassen, die den "Pfad \ Programm" umgeben, den Sie mit dem Befehl START starten möchten. Da der Pfadname normalerweise Leerzeichen enthält, wird wahrscheinlich ein anderer Fehler angezeigt, es sei denn, Sie kürzen den Pfad (kürzen ihn). Die abgeschnittenen Namen im Pfad können variieren, wenn Sie mehrere Microsoft-Produkte installiert haben. Verwenden Sie die folgende Befehlszeile an einer DOS-Eingabeaufforderung (in einem CMD-Fenster), um den richtigen abgeschnittenen Pfad zu erhalten: FOR / D% T IN ("C: \ Programme \ Microsoft Office \ Office14 \ Outlook") DO ECHO% ~ sT

Hier ist ein Beispiel, das bei Verwendung der oben genannten Ergebnisse für mich funktioniert hat: START / MIN C: \ Progra ~ 1 \ Micros ~ 1 \ Office14 \ Outlook

HINWEIS: Office14 bezieht sich auf Version 2010, während Office12 auf Version 2007 verweist. Beachten Sie außerdem, dass die EXE-Datei am Ende von Outlook.exe in diesen Befehlszeilen nicht erforderlich ist.

Klaralina
quelle
Gibt es einen Grund, warum Sie denken, dass dies besser ist als start /min "" "FullPathOfOutlook.exe"?
Scott
0

Ich habe den obigen Code für einige Zeit verwendet und möchte allen früheren Mitwirkenden für das Teilen ihrer Arbeit / Verbesserungen / Vorschläge danken. In letzter Zeit sind jedoch zwei unerwünschte und irritierende Probleme aufgetreten, wenn es in Verbindung mit Windows 10 (64 Bit) und Outlook 2016 (64 Bit) verwendet wird:

  1. Das Outlook-Symbol in der Taskleiste zeigt eine Zahnradüberlagerung mit der Meldung "Ein anderes Programm verwendet Outlook. Um Programme zu trennen und Outlook zu beenden, klicken Sie auf das Outlook-Symbol und dann auf Jetzt beenden".

  2. Beim Versuch, Outlook über das Kontextmenü "Outlook öffnen" zu öffnen (klicken Sie mit der rechten Maustaste auf das Outlook-Symbol in der Taskleiste), wird ein Dialogfeld mit der Meldung "Kein aktives Explorer-Objekt gefunden" angezeigt. Durch Klicken auf die Option "OK" in der Antwort wird Outlook gestartet (obwohl Problem 1 - Zahnrad-Overlay) weiterhin besteht.

Um die oben genannten Probleme zu lösen, habe ich mich daran gemacht, einen ähnlichen Code zu finden, den ich kompilieren kann, um die gewünschten Ziele des Originalplakats zu erreichen (die meine eigenen Anforderungen widerspiegeln).

Der folgende Code wird "wie besehen" zum weiteren Nutzen anderer SuperUser angeboten. Es ist jedoch wichtig zu beachten, dass ich, obwohl ich den Code auf zwei W10 64-Bit-Systemen (beide mit installiertem 64-Bit-Office) getestet habe, noch eine Laufzeit auflösen muss Ausgabe eines Systems. Der andere funktioniert einwandfrei. Ausführliche Informationen finden Sie bei Bedarf hier: /programming/45533261/start-outlook-2016-64-bit-automatically-minimised-to-windows-10-64-bit-syste

Ich werde Sie über alle Entwicklungen auf dem Laufenden halten, während die Tests fortgesetzt werden .......

** Schnelles Update ** Jetzt getestet auf HP Elitebook 8440P Laptop - Windows 10 Pro 64 Bit mit Office 64 Bit + gleichen 12 Outlook Addons - Funktioniert einwandfrei gemäß den Anforderungen im obigen Originalbeitrag .....

** Weiteres Update ** Getestet auf einem zweiten HP Elitebook 8440P Laptop - Windows 10 Pro 64 Bit mit Office 64 Bit + gleichen 12 Outlook Addons - RunTime-Fehler erneut aufgetreten :(

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.
PC Pilot
quelle
0

Ich habe einige Suchen und Tests durchgeführt und schließlich festgestellt, dass der folgende vbscript-Code in meinem Win10-Laptop funktioniert:

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

Legen Sie es einfach im Taskplaner als Aktion fest und machen Sie es so, wie Sie eine Startanwendung erstellen.

Aerix Chan
quelle
0

Ich mag die Top-Antwort, aber ich mag es nicht, dass sie in CScript ist ... Also habe ich es in PowerShell gemacht ...

Es funktioniert einwandfrei mit Windows 10 und Office 365.

Hier formatierte Farbe: 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)
NotoriousPyro
quelle