- Offizieller Beitrag
Hallo,
alle die mit Outlook arbeiten, werden bestimmt schon festgestellt haben, dass sich das Journal sinnvoll nutzen ließe, wenn man vernüftige eigene Eintragstypen verwendet.
An all jene richtet sich nachfolgendes Script. Nun könnt ihr nach Herzenslust eigene Eintragstypen kreieren.
Beim Löschen von Outlook-eigenen Typen ist allerdings Vorsicht geboten. Falls ihr die autom. Journalfunktion aktiviert habt, kann es vielleicht zu Problemen führen. Hab ich aber nicht explicit getestet. - Nur der Vorsicht halber. :]
Wie immer, wenn es um die Registry geht - your own risk.
Wem das verwendete Icon nicht zusagt [8] , der kann auch gern ein anderes verwenden. Einfach in der Registry nachschauen, welche Icons von anderen Einträgen genutzt werden und davon eins auswählen.
Na dann viel Spaß!
Spoiler anzeigen
#include <GUIConstants.au3>
Const $RegKey="HKEY_CURRENT_USER\Software\Microsoft\Shared Tools\Outlook\Journaling\"
$Form1 = GUICreate("Outlook Journal-Eintragstyp", 552, 304, -1, -1)
$Group1 = GUICtrlCreateGroup("Vorhandene Journaltypen", 20, 15, 341, 266)
$List1 = GUICtrlCreateList("", 35, 35, 311, 227, -1, $WS_EX_CLIENTEDGE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button_add = GUICtrlCreateButton("Eintrag hinzufügen", 390, 125, 136, 36)
$Button_del = GUICtrlCreateButton("Markierten Eintrag löschen", 390, 185, 136, 36)
$Button_end = GUICtrlCreateButton("Ende", 390, 245, 136, 36)
GUISetState(@SW_SHOW)
$Form2 = GUICreate("Neuen Eintragstyp hinzufügen", 377, 151, -1, -1)
$Group2 = GUICtrlCreateGroup("Eintragstyp", 30, 15, 311, 66)
$Input1 = GUICtrlCreateInput("", 40, 40, 291, 26, -1, $WS_EX_CLIENTEDGE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button_add_back = GUICtrlCreateButton("Hinzufügen", 220, 95, 121, 26)
$Form3 = GUICreate("ACHTUNG!", 531, 96, -1, -1)
GUICtrlCreateLabel("Achtung! Der Registry-Schlüssel für diesen Eintrag wird unwiederruflich gelöscht!", 20, 15, 492, 30, BitOR($SS_CENTER,$SS_CENTERIMAGE,$SS_SUNKEN))
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, 0xff0000)
GUICtrlSetState(-1, $GUI_DISABLE)
$Button_deltrue = GUICtrlCreateButton("Löschen", 20, 55, 85, 25)
$Button_delfalse = GUICtrlCreateButton("Nicht Löschen", 430, 55, 85, 25)
GUICtrlSetState(-1, $GUI_FOCUS)
_ReadSubKeyRefreshList()
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $Button_end
ExitLoop
Case $msg = $Button_add
GUISetState(@SW_HIDE, $Form1)
GUISetState(@SW_SHOW, $Form2)
Case $msg = $Button_del
GUISetState(@SW_HIDE, $Form1)
GUISetState(@SW_SHOW, $Form3)
Case $msg = $Button_deltrue
If GUICtrlRead($List1) <> "" Then
RegDelete($RegKey&GUICtrlRead($List1))
Else
MsgBox(4096, "Achtung!", "Es wurde kein Eintrag ausgewählt.")
EndIf
GUISetState(@SW_HIDE, $Form3)
GUISetState(@SW_SHOW, $Form1)
_ReadSubKeyRefreshList()
Case $msg = $Button_delfalse
GUISetState(@SW_HIDE, $Form3)
GUISetState(@SW_SHOW, $Form1)
Case $msg = $Button_add_back
$NewEntry = GUICtrlRead($Input1)
_AddKeys4NewEntry($NewEntry)
GUISetState(@SW_SHOW, $Form1)
GUISetState(@SW_HIDE, $Form2)
_ReadSubKeyRefreshList()
EndSelect
WEnd
Exit
Func _ReadSubKeyRefreshList()
Dim $i=0
Dim $Wert, $Fehler=0
GUICtrlSetData($List1,"")
Do
$i+=1
$Wert=RegEnumKey($RegKey, $i)
$Fehler=@Error
If $Fehler=0 Then
GUICtrlSetData($List1, $Wert)
EndIf
Until $Fehler<>0
EndFunc
Func _AddKeys4NewEntry($NewEntry)
RegWrite($RegKey&$NewEntry, "AutoJournaled", "REG_DWORD" , 00000000)
RegWrite($RegKey&$NewEntry, "JournalByContact", "REG_DWORD" , 00000000)
RegWrite($RegKey&$NewEntry, "Large Icon", "REG_SZ" , "[8]")
RegWrite($RegKey&$NewEntry, "Small Icon", "REG_SZ" , "[8]")
RegWrite($RegKey&$NewEntry, "Description", "REG_SZ" , $NewEntry)
EndFunc
Alles anzeigen