Index: base/applications/mscutils/eventvwr/CMakeLists.txt =================================================================== --- base/applications/mscutils/eventvwr/CMakeLists.txt (revision 62028) +++ base/applications/mscutils/eventvwr/CMakeLists.txt (working copy) @@ -1,7 +1,7 @@ add_executable(eventvwr eventvwr.c eventvwr.rc) set_module_type(eventvwr win32gui UNICODE) -add_importlibs(eventvwr user32 comctl32 advapi32 msvcrt kernel32) +add_importlibs(eventvwr user32 comctl32 comdlg32 advapi32 msvcrt kernel32) if(MSVC) add_importlibs(eventvwr ntdll) endif() Index: base/applications/mscutils/eventvwr/eventvwr.c =================================================================== --- base/applications/mscutils/eventvwr/eventvwr.c (revision 62028) +++ base/applications/mscutils/eventvwr/eventvwr.c (working copy) @@ -28,9 +28,11 @@ #include #include #include +#include #include #include #include +#include #include "resource.h" @@ -58,13 +60,17 @@ HINSTANCE hInst; /* current instance */ WCHAR szTitle[MAX_LOADSTRING]; /* The title bar text */ WCHAR szTitleTemplate[MAX_LOADSTRING]; /* The logged-on title bar text */ +WCHAR szSaveFilter[MAX_LOADSTRING]; /* Filter Mask for the save Dialog */ HWND hwndMainWindow; /* Main window */ HWND hwndListView; /* ListView control */ HWND hwndStatus; /* Status bar */ +HMENU hMainMenu; /* The application's main menu */ WCHAR szStatusBarTemplate[MAX_LOADSTRING]; /* The status bar text */ PEVENTLOGRECORD *g_RecordPtrs = NULL; DWORD g_TotalRecords = 0; +OPENFILENAMEW sfn; + LPWSTR lpSourceLogName = NULL; LPWSTR lpComputerName = NULL; @@ -138,6 +144,18 @@ } VOID +ShowLastWin32Error(VOID) +{ + DWORD dwError; + LPWSTR lpMessageBuffer; + + dwError= GetLastError(); + FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError, 0, (LPWSTR)&lpMessageBuffer, 0, NULL); + MessageBoxW(hwndMainWindow, lpMessageBuffer, szTitle, MB_OK | MB_ICONERROR); + LocalFree(lpMessageBuffer); +} + +VOID EventTimeToSystemTime(DWORD EventTime, SYSTEMTIME *pSystemTime) { @@ -219,10 +237,7 @@ } else { - MessageBoxW(NULL, - L"Registry access failed!", - L"Event Log", - MB_OK | MB_ICONINFORMATION); + ShowLastWin32Error(); } if (hSourceKey != NULL) @@ -531,21 +546,18 @@ dwFlags = EVENTLOG_FORWARDS_READ | EVENTLOG_SEQUENTIAL_READ; - lpSourceLogName = lpLogName; - lpComputerName = lpMachineName; - /* Open the event log. */ hEventLog = OpenEventLogW(lpMachineName, lpLogName); if (hEventLog == NULL) { - MessageBoxW(NULL, - L"Could not open the event log.", - L"Event Log", - MB_OK | MB_ICONINFORMATION); + ShowLastWin32Error(); return FALSE; } + lpSourceLogName = lpLogName; + lpComputerName = lpMachineName; + /* Disable listview redraw */ SendMessage(hwndListView, WM_SETREDRAW, FALSE, 0); @@ -558,6 +570,17 @@ /* Get the total number of event log records. */ GetNumberOfEventLogRecords (hEventLog , &dwTotalRecords); g_TotalRecords = dwTotalRecords; + + if (dwTotalRecords > 0) + { + EnableMenuItem(hMainMenu, ID_CLEAR_EVENTS, MF_BYCOMMAND | MF_ENABLED); + EnableMenuItem(hMainMenu, ID_SAVE_PROTOCOL, MF_BYCOMMAND | MF_ENABLED); + } + else + { + EnableMenuItem(hMainMenu, ID_CLEAR_EVENTS, MF_BYCOMMAND | MF_GRAYED); + EnableMenuItem(hMainMenu, ID_SAVE_PROTOCOL, MF_BYCOMMAND | MF_GRAYED); + } g_RecordPtrs = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwTotalRecords * sizeof(PVOID)); @@ -718,6 +741,97 @@ VOID +SaveProtocol(VOID) +{ + HANDLE hEventLog; + WCHAR szFileName[MAX_PATH]; + + ZeroMemory(szFileName, sizeof(szFileName)); + + sfn.lpstrFile = szFileName; + sfn.nMaxFile = MAX_PATH; + + if (!GetSaveFileNameW(&sfn)) + { + return; + } + + hEventLog = OpenEventLogW(lpComputerName, lpSourceLogName); + if (!hEventLog) + { + ShowLastWin32Error(); + return; + } + + if (!BackupEventLogW(hEventLog, szFileName)) + { + ShowLastWin32Error(); + } + + CloseEventLog(hEventLog); +} + + +BOOL +ClearEvents(VOID) +{ + HANDLE hEventLog; + WCHAR szFileName[MAX_PATH]; + WCHAR szMessage[MAX_LOADSTRING]; + + ZeroMemory(szFileName, sizeof(szFileName)); + ZeroMemory(szMessage, sizeof(szMessage)); + + LoadStringW(hInst, IDS_CLEAREVENTS_MSG, szMessage, MAX_LOADSTRING); + + sfn.lpstrFile = szFileName; + sfn.nMaxFile = MAX_PATH; + + switch(MessageBoxW(hwndMainWindow, szMessage, szTitle, MB_YESNOCANCEL | MB_ICONINFORMATION)) + { + case IDCANCEL: + { + return FALSE; + break; + } + + case IDNO: + { + sfn.lpstrFile = NULL; + break; + } + + case IDYES: + { + if (!GetSaveFileNameW(&sfn)) + { + return FALSE; + } + break; + } + } + + hEventLog = OpenEventLogW(lpComputerName, lpSourceLogName); + if (!hEventLog) + { + ShowLastWin32Error(); + return FALSE; + } + + if (!ClearEventLogW(hEventLog, sfn.lpstrFile)) + { + ShowLastWin32Error(); + CloseEventLog(hEventLog); + return FALSE; + } + + CloseEventLog(hEventLog); + + return TRUE; +} + + +VOID Refresh(VOID) { QueryEventMessages(lpComputerName, @@ -912,6 +1026,21 @@ lvc.pszText = szTemp; (void)ListView_InsertColumn(hwndListView, 8, &lvc); + // Initialize the save Dialog + ZeroMemory(&sfn, sizeof(sfn)); + ZeroMemory(szSaveFilter, sizeof(szSaveFilter)); + + LoadStringW(hInst, IDS_SAVE_FILTER, szSaveFilter, MAX_LOADSTRING); + + sfn.lStructSize = sizeof(sfn); + sfn.hwndOwner = hwndMainWindow; + sfn.hInstance = hInstance; + sfn.lpstrFilter = szSaveFilter; + sfn.lpstrInitialDir = NULL; + sfn.Flags = OFN_HIDEREADONLY | OFN_SHAREAWARE; + sfn.lpstrDefExt = NULL; + + ShowWindow(hwndMainWindow, nCmdShow); UpdateWindow(hwndMainWindow); @@ -941,6 +1070,7 @@ switch (message) { case WM_CREATE: + hMainMenu = GetMenu(hWnd); CheckMenuRadioItem(GetMenu(hWnd), ID_LOG_APPLICATION, ID_LOG_SYSTEM, @@ -1009,6 +1139,17 @@ } break; + case ID_SAVE_PROTOCOL: + SaveProtocol(); + break; + + case ID_CLEAR_EVENTS: + if(ClearEvents()) + { + Refresh(); + } + break; + case IDM_REFRESH: Refresh(); break; @@ -1018,7 +1159,7 @@ break; case IDM_HELP: - MessageBoxW(NULL, + MessageBoxW(hwndMainWindow, L"Help not implemented yet!", L"Event Log", MB_OK | MB_ICONINFORMATION); @@ -1228,7 +1369,7 @@ return (INT_PTR)TRUE; case IDHELP: - MessageBoxW(NULL, + MessageBoxW(hDlg, L"Help not implemented yet!", L"Event Log", MB_OK | MB_ICONINFORMATION); Index: base/applications/mscutils/eventvwr/lang/bg-BG.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/bg-BG.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/bg-BG.rc (working copy) @@ -8,6 +8,10 @@ MENUITEM "&Сигурност", ID_LOG_SECURITY MENUITEM "&Уредба", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Из&ход", IDM_EXIT END POPUP "Из&глед" @@ -95,6 +99,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Audit Failure" IDS_EVENTLOG_SUCCESS "Success" IDS_EVENTLOG_UNKNOWN_TYPE "Unknown Event" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/de-DE.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/de-DE.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/de-DE.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Sicherheit", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Protokoll s&peichern...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "Alle E&reignisse löschen", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "B&eenden", IDM_EXIT END POPUP "&Ansicht" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Audit Fehlgeschlagen" IDS_EVENTLOG_SUCCESS "Erfolgreich" IDS_EVENTLOG_UNKNOWN_TYPE "Unbekanntes Ereignis" + IDS_CLEAREVENTS_MSG "Möchten Sie dieses Protokoll vor dem Löschen speichern?" + IDS_SAVE_FILTER "Ereignisprotokoll (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/el-GR.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/el-GR.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/el-GR.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Ασφάλεια", ID_LOG_SECURITY MENUITEM "&Σύστημα", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Έ&ξοδος", IDM_EXIT END POPUP "&Εμφάνιση" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Audit Failure" IDS_EVENTLOG_SUCCESS "Επιτυχία" IDS_EVENTLOG_UNKNOWN_TYPE "Άγνωστο συμβάν" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/en-US.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/en-US.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/en-US.rc (working copy) @@ -16,6 +16,10 @@ MENUITEM "&Security", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "E&xit", IDM_EXIT END POPUP "&View" @@ -103,6 +107,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Audit Failure" IDS_EVENTLOG_SUCCESS "Success" IDS_EVENTLOG_UNKNOWN_TYPE "Unknown Event" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/es-ES.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/es-ES.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/es-ES.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Seguridad", ID_LOG_SECURITY MENUITEM "&Sistema", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "S&alir", IDM_EXIT END POPUP "&Ver" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Auditoria Fallida" IDS_EVENTLOG_SUCCESS "Acierto" IDS_EVENTLOG_UNKNOWN_TYPE "Evento Desconocido" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/fr-FR.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/fr-FR.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/fr-FR.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Sécurité", ID_LOG_SECURITY MENUITEM "&Système", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Quitter", IDM_EXIT END POPUP "Affichage" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Échec de l'audit" IDS_EVENTLOG_SUCCESS "Succès" IDS_EVENTLOG_UNKNOWN_TYPE "Événement Inconnu" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/he-IL.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/he-IL.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/he-IL.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "אבטחה", ID_LOG_SECURITY MENUITEM "מערכת", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "יציאה", IDM_EXIT END POPUP "תצוגה" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Audit Failure" IDS_EVENTLOG_SUCCESS "הצלחה" IDS_EVENTLOG_UNKNOWN_TYPE "אירוע לא ידוע" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/it-IT.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/it-IT.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/it-IT.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Sicurezza", ID_LOG_SECURITY MENUITEM "&Sistema", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "E&sci", IDM_EXIT END POPUP "&Vista" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Audit fallita" IDS_EVENTLOG_SUCCESS "Successo" IDS_EVENTLOG_UNKNOWN_TYPE "Evento sconosciuto" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/ja-JP.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/ja-JP.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/ja-JP.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "セキュリティ(&S)", ID_LOG_SECURITY MENUITEM "システム(&S)", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "終了(&X)", IDM_EXIT END POPUP "表示(&V)" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "失敗の監査" IDS_EVENTLOG_SUCCESS "成功" IDS_EVENTLOG_UNKNOWN_TYPE "不明なイベント" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/ko-KR.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/ko-KR.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/ko-KR.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "보안(&S)", ID_LOG_SECURITY MENUITEM "시스템(&S)", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "종료(&X)", IDM_EXIT END POPUP "보기(&V)" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "감사 실패" IDS_EVENTLOG_SUCCESS "성공" IDS_EVENTLOG_UNKNOWN_TYPE "알려지지 않은 이벤트" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/no-NO.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/no-NO.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/no-NO.rc (working copy) @@ -8,6 +8,10 @@ MENUITEM "&Sikkerhet", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "A&vslutt", IDM_EXIT END POPUP "&Vis" @@ -95,6 +99,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Revisjon misslykkes" IDS_EVENTLOG_SUCCESS "Suksess" IDS_EVENTLOG_UNKNOWN_TYPE "Ukjent hendelse" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/pl-PL.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/pl-PL.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/pl-PL.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Zabezpieczenia", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "&Wyjście", IDM_EXIT END POPUP "&Podgląd" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Nieudany Audyt" IDS_EVENTLOG_SUCCESS "Sukces" IDS_EVENTLOG_UNKNOWN_TYPE "Zdarzenie nieznane" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/pt-BR.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/pt-BR.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/pt-BR.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "S&egurança", ID_LOG_SECURITY MENUITEM "&Sistema", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "&Sair", IDM_EXIT END POPUP "&Visualizar" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Falha na Auditoria" IDS_EVENTLOG_SUCCESS "Sucesso" IDS_EVENTLOG_UNKNOWN_TYPE "Evento Desconhecido" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/ro-RO.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/ro-RO.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/ro-RO.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "Se&curitate", ID_LOG_SECURITY MENUITEM "&Sistem", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "I&eșire", IDM_EXIT END POPUP "&Afișare" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Eșec audit" IDS_EVENTLOG_SUCCESS "Succes" IDS_EVENTLOG_UNKNOWN_TYPE "Eveniment necunoscut" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/ru-RU.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/ru-RU.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/ru-RU.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Безопасности", ID_LOG_SECURITY MENUITEM "&Системы", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "В&ыход", IDM_EXIT END POPUP "&Вид" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Аудит отказов" IDS_EVENTLOG_SUCCESS "Успех" IDS_EVENTLOG_UNKNOWN_TYPE "Неизвестное событие" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/sk-SK.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/sk-SK.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/sk-SK.rc (working copy) @@ -13,6 +13,10 @@ MENUITEM "&Security", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "&Skončiť", IDM_EXIT END POPUP "&Zobraziť" @@ -100,6 +104,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Kontrola zlyhala" IDS_EVENTLOG_SUCCESS "Úspech" //Success IDS_EVENTLOG_UNKNOWN_TYPE "Neznáma udalosť" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/sq-AL.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/sq-AL.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/sq-AL.rc (working copy) @@ -16,6 +16,10 @@ MENUITEM "&Siguri", ID_LOG_SECURITY MENUITEM "&Sistemi", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "Dil", IDM_EXIT END POPUP "&Vëzhgo" @@ -103,6 +107,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Audit dështoj" IDS_EVENTLOG_SUCCESS "Sukses" IDS_EVENTLOG_UNKNOWN_TYPE "Ngjraje e panjohur" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/sv-SE.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/sv-SE.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/sv-SE.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Säkerhet", ID_LOG_SECURITY MENUITEM "&System", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "A&vsluta", IDM_EXIT END POPUP "&Visa" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Revision misslyckades" IDS_EVENTLOG_SUCCESS "Uppgift lyckades" IDS_EVENTLOG_UNKNOWN_TYPE "Okänd händelse" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/tr-TR.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/tr-TR.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/tr-TR.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Güvenlik", ID_LOG_SECURITY MENUITEM "&Dizge", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "&Çıkış", IDM_EXIT END POPUP "&Görünüm" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Başarısızlık Denetimi" IDS_EVENTLOG_SUCCESS "Başarı" IDS_EVENTLOG_UNKNOWN_TYPE "Bilinmeyen Olay" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/uk-UA.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/uk-UA.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/uk-UA.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "&Захист", ID_LOG_SECURITY MENUITEM "&Система", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "В&ихід", IDM_EXIT END POPUP "&Вигляд" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "Аудит відмов" IDS_EVENTLOG_SUCCESS "Успіх" IDS_EVENTLOG_UNKNOWN_TYPE "Невідома подія" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/lang/zh-CN.rc =================================================================== --- base/applications/mscutils/eventvwr/lang/zh-CN.rc (revision 62028) +++ base/applications/mscutils/eventvwr/lang/zh-CN.rc (working copy) @@ -10,6 +10,10 @@ MENUITEM "安全日志(&S)", ID_LOG_SECURITY MENUITEM "系统日志(&Y)", ID_LOG_SYSTEM MENUITEM SEPARATOR + MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM SEPARATOR + MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM SEPARATOR MENUITEM "退出(&X)", IDM_EXIT END POPUP "查看(&V)" @@ -97,6 +101,8 @@ IDS_EVENTLOG_AUDIT_FAILURE "审核失败" IDS_EVENTLOG_SUCCESS "成功" IDS_EVENTLOG_UNKNOWN_TYPE "未知事件" + IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" + IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" END STRINGTABLE Index: base/applications/mscutils/eventvwr/resource.h =================================================================== --- base/applications/mscutils/eventvwr/resource.h (revision 62028) +++ base/applications/mscutils/eventvwr/resource.h (working copy) @@ -46,6 +46,8 @@ #define ID_VIEW_REFRESH 32780 #define ID_REFRESH 32781 #define IDM_REFRESH 32782 +#define ID_CLEAR_EVENTS 32783 +#define ID_SAVE_PROTOCOL 32784 /* String IDs */ #define IDS_APP_TITLE 103 @@ -59,6 +61,8 @@ #define IDS_EVENTLOG_AUDIT_FAILURE 255 #define IDS_EVENTLOG_SUCCESS 256 #define IDS_EVENTLOG_UNKNOWN_TYPE 257 +#define IDS_CLEAREVENTS_MSG 258 +#define IDS_SAVE_FILTER 259 #define IDS_COLUMNTYPE 300 #define IDS_COLUMNDATE 301