-3

Как разработчик, я был разочарован тем, что мой начальник и коллега нанесли мне на голову ярлык, что я всегда опаздывал на встречу. Но, как и у каждого покойного, у меня есть свое оправдание.

Когда вы интенсивно печатаете на визуальной студии. Уведомление outlook может быть легко пропущено.

Я смотрю и ищу в интернете решение. Что-то, что остановит весь мой компьютер, и на моем лице появится предупреждение, предупреждающее о большой красной коробке, чтобы я знал, что впереди назначена встреча. И с грустью, многие решения - это платные плагины, добавленные в outlook и до сих пор не удовлетворяющие моим требованиям.

Все решения в этой теме также оказались трудными и не очень хорошо работают. Как заставить напоминания Календаря Outlook оставаться на вершине в Windows 7

1 ответ1

0

Я наконец-то нашел простое решение, используя Outlook VBA и простой EXE.

Вот, как никогда не пропустить встречу встречи перспективы.

Почему отдельное приложение exe только для этой цели? Ну, у меня было большое красное поле, встроенное в VBA, но это решение было полно проблем (я полагаю, это потому, что я должен использовать hwnd и другое необычное системное свойство, чтобы держать большое красное поле сверху). Итак, чтобы упростить задачу, почему бы не использовать базовый EXE-файл, который выполняет одну задачу. Вы можете использовать бесплатные инструменты от Microsoft (Visual Studio Community 2015 бесплатно).

Это код EXE. простое приложение формы окна с одной формой. Скомпилируйте этот код.

Imports System.Timers
Public Class Form1
    Dim tTimer As New Timer
    Public Sub New()
        InitializeComponent()
        Me.StartPosition = Windows.Forms.FormStartPosition.CenterScreen
        Me.TopMost = True
        Me.TopLevel = True
    End Sub
    Private Sub Form1_DoubleClick(sender As Object, e As EventArgs) Handles Me.DoubleClick
        Application.Exit()
    End Sub 
    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
        flashingQuick()
    End Sub
    Sub flashingQuick()
        tTimer.Start()
        AddHandler tTimer.Elapsed, New ElapsedEventHandler(AddressOf TimerTick)
    End Sub
    Sub TimerTick(ByVal source As [Object], ByVal e As ElapsedEventArgs)
        Dim theTimer As System.Timers.Timer = DirectCast(source, System.Timers.Timer)
        theTimer.Interval = 500
        theTimer.Enabled = True
        If Me.BackColor = System.Drawing.SystemColors.Control Then
            Me.BackColor = Color.Red
        Else
            Me.BackColor = System.Drawing.SystemColors.Control
        End If
    End Sub
End Class

И это все, что мне нужно в мировоззрении VBA. Добавьте его в ThisOutLookSession.

Private Sub Application_Reminder(ByVal Item As Object)
    On Error Resume Next
    If Item.MessageClass <> "IPM.Appointment" Then
      Exit Sub
    End If
    Dim sAPPData As String
    Dim sFileName As String
    sAPPData = Environ("AppData")
    sFileName = "\Microsoft\Windows\Start Menu\Programs\BigRedBox\BigRedBox.exe"
    If Dir(sAPPData & sFileName) <> "" Then
        Call Shell(sAPPData & sFileName)
    End If
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .