English
|
Category-Manager |
| Mit dem Category-Manager können Sie Outlook Kategorien gruppieren, synchronisieren und filtern, neuen Emails automatisch die Kategorie des Absenders zuweisen und vieles mehr. Das Addin ist auch für IMAP geeignet. |
Das Beispiel ermittelt eine Fensterzugriffsnummer (Handle) anhand des Fenstertitels (Caption-Eigenschaft) unterhalb eines angegebenen Fensters. Wenn Sie ein Fenster auf der obersten Ebene suchen wollen, dann rufen Sie zuerst die Funktion GetDesktopWindow auf und übergeben das Ergebnis der Funktion FindChildWindowText im Argument lHnd. Sie können aber auch das Handle jedes beliebigen anderen Fensters übergeben, unterhalb dessen Sie suchen möchten. GroÃ-/Kleinschreibung wird nicht unterschieden; Sie können in sFind den exakten Titel übergeben oder einen Teilstring mit Asterisk (*).
Fügen Sie dem Projekt ein neues Standardmodul hinzu, und kopieren Sie das Beispiel dorthin.
Private Declare Function GetWindow Lib "user32" _
(ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowTextA Lib "user32" _
(ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetDesktopWindowA Lib "user32" _
Alias "GetDesktopWindow" () As Long
Const GW_HWNDNEXT = 2
Const GW_CHILD = 5
Public Function GetDesktopWindow() As Long
GetDesktopWindow = GetDesktopWindowA
End Function
Public Function FindChildWindowText(ByVal lHwnd As Long, _
sFind As String _
) As Long
Dim lRes As Long
Dim sFindLC As String
lRes = GetWindow(lHwnd, GW_CHILD)
If lRes Then
sFindLC = LCase$(sFind)
Select Case InStr(sFindLC, "*")
Case Is > 0
Do
If LCase$(GetWindowText(lRes)) Like sFindLC Then
FindChildWindowText = lRes
Exit Function
End If
lRes = GetWindow(lRes, GW_HWNDNEXT)
Loop While lRes <> 0
Case Else
Do
If LCase$(GetWindowText(lRes)) = sFindLC Then
FindChildWindowText = lRes
Exit Function
End If
lRes = GetWindow(lRes, GW_HWNDNEXT)
Loop While lRes <> 0
End Select
End If
End Function
Private Function GetWindowText(ByVal lHwnd As Long) As String
Const STR_SIZE As Long = 256
Dim sBuffer As String * STR_SIZE
Dim lSize As Long
sBuffer = String$(STR_SIZE, vbNullChar)
lSize = GetWindowTextA(lHwnd, sBuffer, STR_SIZE)
If lSize > 0 Then
GetWindowText = left$(sBuffer, lSize)
End If
End Function
|
ReplyAll |
| Mit diesem Addin für Outlook erhalten Sie in verschiedenen Situationen eine Warnung, bevor Sie auf eine Email versehentlich allen anderen Empfängern antworten. |