128 votes

Comment faire en sorte que les rappels du Calendrier Outlook restent en tête sous Windows 7

Je commence tout juste à utiliser Windows 7 et je voudrais savoir comment faire en sorte que mes rappels Outlook s'affichent de manière proéminente. Ils continuent de s'ouvrir discrètement, comme une fenêtre de plus dans la pile Outlook de la barre des tâches. Par conséquent, je ne les vois jamais car ils apparaissent derrière tout le reste.

Comment puis-je les rendre moins faciles à négliger ?

(Il est clair que l'on ne veut généralement pas d'applications odieuses qui s'imposent au premier plan. Mais il y a quelques endroits où un tel comportement est souhaitable, et les rappels de calendrier Outlook en font partie).

18 votes

C'est tellement nécessaire. Si l'on tombe dans une concentration intense, il est très facile de manquer un rappel et de le remarquer sous d'autres fenêtres seulement après avoir été en retard. Il est ridicule que cela ne soit pas possible avec un simple réglage. À quoi sert un rappel si vous ne l'obtenez pas rapidement !

0voto

chris Points 41

Il s'agit d'une version améliorée de Réponse de tbone qui fonctionne sur les versions allemandes.

Private Declare PtrSafe Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare PtrSafe Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Boolean
Private Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Boolean
Private Declare PtrSafe Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long

Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const FLAGS As Long = SWP_NOMOVE Or SWP_NOSIZE
Private Const HWND_TOPMOST = -1

Private Sub Application_Reminder(ByVal Item As Object)
    Dim ReminderWindowHWnd As Variant
    On Error GoTo err
    'Loop 25 times as FindWindowA needs exact title which varies according to number of reminder items...
    Dim iReminderCount As Integer
    For iReminderCount = 1 To 25
        'Try two syntaxes...

        ReminderWindowHWnd = FindWindowA(vbNullString, iReminderCount & " Erinnerung")
        SetWindowPos ReminderWindowHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
        BringWindowToTop (ReminderWindowHWnd)
        SetForegroundWindow ReminderWindowHWnd
        SetFocus ReminderWindowHWnd

        ReminderWindowHWnd = FindWindowA(vbNullString, iReminderCount & " Erinnerung(en)")
        SetWindowPos ReminderWindowHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
        BringWindowToTop ReminderWindowHWnd
        SetForegroundWindow ReminderWindowHWnd
        SetFocus ReminderWindowHWnd
    Next
Exit Sub
err:
    Debug.Print err.Number & " - " & err.Description & " (iReminderCount = " & iReminderCount & ")"
    Resume Next
End Sub

J'ai ajouté des titres de fenêtres en allemand et aussi quelques nouvelles fonctions ( BringWindowToTop , SetForegroundWindow y SetFocus ).

Fonctionne sur mon Windows 10 allemand avec Outlook 2016.

Je l'ai fait. no Je suis parvenu à générer un nouveau certificat (en appuyant sur Démarrer et en entrant "certificat", cela n'a rien révélé), mais j'ai simplement sélectionné un autre certificat dans la liste lors de la signature.

0 votes

Cela fait juste clignoter l'application mais ne met pas la fenêtre de notification en avant

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X