mirror of
https://github.com/reactos/reactos.git
synced 2024-06-28 00:41:36 +00:00
[EVENTVWR] Add support for a command-line for the Event Log Viewer.
CORE-12269 - Add support for '/?' and '/l:' switches. The former displays usage information. The latter allows to specify an event log file to load. Also one can specify the computer name from which one wants to retrieve events for display (work in progress). - In EnumEventsThread(), move around the code that updates the application title and status bar, so that the selected event log name and loading status is always displayed first, while loading itself is in progress.
This commit is contained in:
parent
eb2934df0e
commit
1afc87ee57
|
@ -87,6 +87,10 @@ HMENU hMainMenu; /* The application's main menu */
|
|||
|
||||
HTREEITEM htiSystemLogs = NULL, htiAppLogs = NULL, htiUserLogs = NULL;
|
||||
|
||||
LPWSTR lpComputerName = NULL; /* NULL: local user computer (default) */
|
||||
LPWSTR lpszzUserLogsToLoad = NULL; /* The list of user logs to load at startup (multi-string) */
|
||||
SIZE_T cbUserLogsSize = 0;
|
||||
|
||||
|
||||
/* Global event records cache for the current active event log filter */
|
||||
DWORD g_TotalRecords = 0;
|
||||
|
@ -118,6 +122,8 @@ OPENFILENAMEW sfn;
|
|||
static DWORD WINAPI
|
||||
StartStopEnumEventsThread(IN LPVOID lpParameter);
|
||||
|
||||
VOID OpenUserEventLogFile(IN LPCWSTR lpszFileName);
|
||||
|
||||
VOID BuildLogListAndFilterList(IN LPCWSTR lpComputerName);
|
||||
VOID FreeLogList(VOID);
|
||||
VOID FreeLogFilterList(VOID);
|
||||
|
@ -155,6 +161,184 @@ ShowWin32Error(IN DWORD dwError)
|
|||
LocalFree(lpMessageBuffer);
|
||||
}
|
||||
|
||||
VOID
|
||||
DisplayUsage(VOID)
|
||||
{
|
||||
LPWSTR lpBuffer;
|
||||
LPCWSTR lpUsage;
|
||||
INT iUsageLen = LoadStringW(hInst, IDS_USAGE, (LPWSTR)&lpUsage, 0);
|
||||
|
||||
if (iUsageLen == 0)
|
||||
return;
|
||||
|
||||
lpBuffer = HeapAlloc(GetProcessHeap(), 0, (iUsageLen + 1) * sizeof(WCHAR));
|
||||
if (!lpBuffer)
|
||||
return;
|
||||
|
||||
StringCchCopyNW(lpBuffer, iUsageLen + 1, lpUsage, iUsageLen);
|
||||
MessageBoxW(NULL, lpBuffer, szTitle, MB_OK | MB_ICONINFORMATION);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, lpBuffer);
|
||||
}
|
||||
|
||||
BOOL
|
||||
ProcessCmdLine(IN LPWSTR lpCmdLine)
|
||||
{
|
||||
BOOL Success = FALSE;
|
||||
INT i, argc;
|
||||
LPWSTR* argv;
|
||||
|
||||
/* Skip any leading whitespace */
|
||||
if (lpCmdLine)
|
||||
{
|
||||
while (iswspace(*lpCmdLine))
|
||||
++lpCmdLine;
|
||||
}
|
||||
|
||||
/* No command line means no processing needed */
|
||||
if (!lpCmdLine || !*lpCmdLine)
|
||||
return TRUE;
|
||||
|
||||
/* Build the arguments vector */
|
||||
argv = CommandLineToArgvW(lpCmdLine, &argc);
|
||||
if (!argv)
|
||||
return FALSE;
|
||||
|
||||
/* Parse the command line for options (skip the program name) */
|
||||
for (i = 1; i < argc; ++i)
|
||||
{
|
||||
/* Check for new options */
|
||||
if (argv[i][0] == L'-' || argv[i][0] == L'/')
|
||||
{
|
||||
if (argv[i][1] == L'?' && argv[i][2] == 0)
|
||||
{
|
||||
/* Display help */
|
||||
DisplayUsage();
|
||||
goto Quit;
|
||||
}
|
||||
else
|
||||
if (argv[i][2] == L':')
|
||||
{
|
||||
switch (towupper(argv[i][1]))
|
||||
{
|
||||
case L'L':
|
||||
{
|
||||
LPWSTR lpNewBuffer;
|
||||
LPWSTR lpFileName = argv[i] + 3;
|
||||
SIZE_T cbFileName;
|
||||
|
||||
/* Check for a quoted file name */
|
||||
if (*lpFileName == L'\"')
|
||||
{
|
||||
/* Skip this quote, and the last one too if any */
|
||||
++lpFileName;
|
||||
cbFileName = wcslen(lpFileName);
|
||||
if (cbFileName > 0 && lpFileName[cbFileName - 1] == L'\"')
|
||||
lpFileName[cbFileName - 1] = UNICODE_NULL;
|
||||
}
|
||||
|
||||
/* Skip this one if we do not actually have a file name */
|
||||
if (!*lpFileName)
|
||||
continue;
|
||||
|
||||
cbFileName = (wcslen(lpFileName) + 1) * sizeof(WCHAR);
|
||||
|
||||
/* Reallocate the list of user logs to load */
|
||||
if (lpszzUserLogsToLoad)
|
||||
{
|
||||
lpNewBuffer = HeapReAlloc(GetProcessHeap(),
|
||||
HEAP_ZERO_MEMORY,
|
||||
lpszzUserLogsToLoad,
|
||||
/* Count the multi-string NULL-terminator */
|
||||
cbUserLogsSize + cbFileName + sizeof(WCHAR));
|
||||
}
|
||||
else
|
||||
{
|
||||
cbUserLogsSize = 0;
|
||||
lpNewBuffer = HeapAlloc(GetProcessHeap(),
|
||||
HEAP_ZERO_MEMORY,
|
||||
/* Count the multi-string NULL-terminator */
|
||||
cbUserLogsSize + cbFileName + sizeof(WCHAR));
|
||||
}
|
||||
|
||||
if (!lpNewBuffer)
|
||||
{
|
||||
ShowWin32Error(ERROR_NOT_ENOUGH_MEMORY);
|
||||
goto Quit;
|
||||
}
|
||||
|
||||
lpszzUserLogsToLoad = lpNewBuffer;
|
||||
lpNewBuffer = (LPWSTR)((ULONG_PTR)lpNewBuffer + cbUserLogsSize);
|
||||
cbUserLogsSize += cbFileName;
|
||||
|
||||
/* Save the file name */
|
||||
StringCbCopyW(lpNewBuffer, cbFileName, lpFileName);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Unknown argument: display help and bail out */
|
||||
DisplayUsage();
|
||||
goto Quit;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* An argument that does not start with the switch character.
|
||||
* If this is the first argument then this corresponds to the
|
||||
* optional computer name. Otherwise this is a wrong argument.
|
||||
*/
|
||||
if (i == 1)
|
||||
{
|
||||
/* Store the computer name */
|
||||
SIZE_T cbLength;
|
||||
|
||||
cbLength = (wcslen(argv[i]) + 1) * sizeof(WCHAR);
|
||||
lpComputerName = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, cbLength);
|
||||
if (lpComputerName)
|
||||
{
|
||||
StringCbCopyW(lpComputerName, cbLength, argv[i]);
|
||||
}
|
||||
/* else, fall back to local computer */
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Invalid syntax: display help and bail out */
|
||||
DisplayUsage();
|
||||
goto Quit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Success = TRUE;
|
||||
|
||||
Quit:
|
||||
/* In case of failure, free anything we have allocated */
|
||||
if (!Success)
|
||||
{
|
||||
if (lpszzUserLogsToLoad)
|
||||
{
|
||||
cbUserLogsSize = 0;
|
||||
HeapFree(GetProcessHeap(), 0, lpszzUserLogsToLoad);
|
||||
lpszzUserLogsToLoad = NULL;
|
||||
}
|
||||
if (lpComputerName)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, lpComputerName);
|
||||
lpComputerName = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* Free the arguments vector and exit */
|
||||
LocalFree(argv);
|
||||
return Success;
|
||||
}
|
||||
|
||||
int APIENTRY
|
||||
wWinMain(HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
|
@ -194,6 +378,14 @@ wWinMain(HINSTANCE hInstance,
|
|||
LoadStringW(hInstance, IDS_LOADING_WAIT, szLoadingWait, ARRAYSIZE(szLoadingWait));
|
||||
LoadStringW(hInstance, IDS_NO_ITEMS, szEmptyList, ARRAYSIZE(szEmptyList));
|
||||
|
||||
/*
|
||||
* Process the command-line arguments. Note that we need the full
|
||||
* command-line, with the program file included, and not just what
|
||||
* WinMain() provides in its lpCmdLine parameter.
|
||||
*/
|
||||
if (!ProcessCmdLine(GetCommandLineW()))
|
||||
goto Quit;
|
||||
|
||||
if (!MyRegisterClass(hInstance))
|
||||
goto Quit;
|
||||
|
||||
|
@ -223,12 +415,22 @@ wWinMain(HINSTANCE hInstance,
|
|||
/* Retrieve the available event logs on this computer and create filters for them */
|
||||
InitializeListHead(&EventLogList);
|
||||
InitializeListHead(&EventLogFilterList);
|
||||
// TODO: Implement connection to remote computer...
|
||||
// At the moment we only support the user local computer.
|
||||
BuildLogListAndFilterList(NULL);
|
||||
BuildLogListAndFilterList(lpComputerName);
|
||||
|
||||
// TODO: If the user wants to open an external event log with the Event Log Viewer
|
||||
// (via the command line), it's here that the log should be opened.
|
||||
/* Open the user-specified logs if any are present on the command-line */
|
||||
if (lpszzUserLogsToLoad)
|
||||
{
|
||||
LPWSTR lpUserLog;
|
||||
for (lpUserLog = lpszzUserLogsToLoad; *lpUserLog; lpUserLog += wcslen(lpUserLog) + 1)
|
||||
{
|
||||
OpenUserEventLogFile(lpUserLog);
|
||||
}
|
||||
|
||||
/* Now cleanup the list of user logs */
|
||||
cbUserLogsSize = 0;
|
||||
HeapFree(GetProcessHeap(), 0, lpszzUserLogsToLoad);
|
||||
lpszzUserLogsToLoad = NULL;
|
||||
}
|
||||
|
||||
/* Main message loop */
|
||||
while (GetMessageW(&msg, NULL, 0, 0))
|
||||
|
@ -256,6 +458,18 @@ Cleanup:
|
|||
CloseHandle(hStartStopEnumEvent);
|
||||
|
||||
Quit:
|
||||
/* Final cleanup */
|
||||
if (lpszzUserLogsToLoad)
|
||||
{
|
||||
cbUserLogsSize = 0;
|
||||
HeapFree(GetProcessHeap(), 0, lpszzUserLogsToLoad);
|
||||
lpszzUserLogsToLoad = NULL;
|
||||
}
|
||||
if (lpComputerName)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, lpComputerName);
|
||||
lpComputerName = NULL;
|
||||
}
|
||||
FreeLibrary(hRichEdit);
|
||||
|
||||
return (int)msg.wParam;
|
||||
|
@ -1433,7 +1647,6 @@ static DWORD WINAPI
|
|||
EnumEventsThread(IN LPVOID lpParameter)
|
||||
{
|
||||
PEVENTLOGFILTER EventLogFilter = (PEVENTLOGFILTER)lpParameter;
|
||||
LPWSTR lpMachineName = NULL; // EventLogFilter->ComputerName;
|
||||
PEVENTLOG EventLog;
|
||||
|
||||
ULONG LogIndex;
|
||||
|
@ -1473,6 +1686,54 @@ EnumEventsThread(IN LPVOID lpParameter)
|
|||
EventLogFilter_AddRef(EventLogFilter);
|
||||
ActiveFilter = EventLogFilter;
|
||||
|
||||
|
||||
/** HACK!! **/
|
||||
EventLog = EventLogFilter->EventLogs[0];
|
||||
|
||||
// FIXME: Use something else instead of EventLog->LogName !!
|
||||
|
||||
/*
|
||||
* Use a different formatting, whether the event log filter holds
|
||||
* only one log, or many logs (the latter case is WIP TODO!)
|
||||
*/
|
||||
if (EventLogFilter->NumOfEventLogs <= 1)
|
||||
{
|
||||
StringCchPrintfExW(szWindowTitle,
|
||||
ARRAYSIZE(szWindowTitle),
|
||||
&lpTitleTemplateEnd,
|
||||
&cchRemaining,
|
||||
0,
|
||||
szTitleTemplate, szTitle, EventLog->LogName); /* i = number of characters written */
|
||||
dwMaxLength = (DWORD)cchRemaining;
|
||||
if (!EventLog->ComputerName)
|
||||
GetComputerNameW(lpTitleTemplateEnd, &dwMaxLength);
|
||||
else
|
||||
StringCchCopyW(lpTitleTemplateEnd, dwMaxLength, EventLog->ComputerName);
|
||||
|
||||
StringCbPrintfW(szStatusText,
|
||||
sizeof(szStatusText),
|
||||
szStatusBarTemplate,
|
||||
EventLog->LogName,
|
||||
0,
|
||||
0);
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO: Use a different title & implement filtering for multi-log filters !!
|
||||
// (EventLogFilter->NumOfEventLogs > 1)
|
||||
MessageBoxW(hwndMainWindow,
|
||||
L"Many-logs filtering is not implemented yet!!",
|
||||
L"Event Log",
|
||||
MB_OK | MB_ICONINFORMATION);
|
||||
}
|
||||
|
||||
/* Set the window title */
|
||||
SetWindowTextW(hwndMainWindow, szWindowTitle);
|
||||
|
||||
/* Update the status bar */
|
||||
StatusBar_SetText(hwndStatus, 0, szStatusText);
|
||||
|
||||
|
||||
/* Disable list view redraw */
|
||||
SendMessageW(hwndListView, WM_SETREDRAW, FALSE, 0);
|
||||
|
||||
|
@ -1699,18 +1960,6 @@ Cleanup:
|
|||
*/
|
||||
if (EventLogFilter->NumOfEventLogs <= 1)
|
||||
{
|
||||
StringCchPrintfExW(szWindowTitle,
|
||||
ARRAYSIZE(szWindowTitle),
|
||||
&lpTitleTemplateEnd,
|
||||
&cchRemaining,
|
||||
0,
|
||||
szTitleTemplate, szTitle, EventLog->LogName); /* i = number of characters written */
|
||||
dwMaxLength = (DWORD)cchRemaining;
|
||||
if (!lpMachineName)
|
||||
GetComputerNameW(lpTitleTemplateEnd, &dwMaxLength);
|
||||
else
|
||||
StringCchCopyW(lpTitleTemplateEnd, dwMaxLength, lpMachineName);
|
||||
|
||||
StringCbPrintfW(szStatusText,
|
||||
sizeof(szStatusText),
|
||||
szStatusBarTemplate,
|
||||
|
@ -1722,18 +1971,11 @@ Cleanup:
|
|||
{
|
||||
// TODO: Use a different title & implement filtering for multi-log filters !!
|
||||
// (EventLogFilter->NumOfEventLogs > 1)
|
||||
MessageBoxW(hwndMainWindow,
|
||||
L"Many-logs filtering is not implemented yet!!",
|
||||
L"Event Log",
|
||||
MB_OK | MB_ICONINFORMATION);
|
||||
}
|
||||
|
||||
/* Update the status bar */
|
||||
StatusBar_SetText(hwndStatus, 0, szStatusText);
|
||||
|
||||
/* Set the window title */
|
||||
SetWindowTextW(hwndMainWindow, szWindowTitle);
|
||||
|
||||
/* Resume list view redraw */
|
||||
SendMessageW(hwndListView, WM_SETREDRAW, TRUE, 0);
|
||||
|
||||
|
@ -2240,6 +2482,8 @@ BuildLogListAndFilterList(IN LPCWSTR lpComputerName)
|
|||
HTREEITEM hRootNode = NULL, hItem = NULL, hItemDefault = NULL;
|
||||
|
||||
/* Open the EventLog key */
|
||||
// TODO: Implement connection to remote computer...
|
||||
// At the moment we only support the user local computer.
|
||||
// FIXME: Use local or remote computer
|
||||
Result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, EVENTLOG_BASE_KEY, 0, KEY_READ, &hEventLogKey);
|
||||
if (Result != ERROR_SUCCESS)
|
||||
|
|
|
@ -142,6 +142,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Error"
|
||||
|
|
|
@ -142,6 +142,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Protokol událostí (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Chyba"
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Ereignisprotokoll (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Fehler"
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Αφάλμα"
|
||||
|
|
|
@ -150,6 +150,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Error"
|
||||
|
|
|
@ -139,11 +139,29 @@ BEGIN
|
|||
IDS_EVENTLOG_SYSTEM "System Logs"
|
||||
IDS_EVENTLOG_APP "Application Logs"
|
||||
IDS_EVENTLOG_USER "User Logs"
|
||||
IDS_EVENTSTRINGIDNOTFOUND "No se pudo recuperar la descripción para el evento con ID (%lu) y origen (%s). El equipo local puede no tener la información necesaria en el registro o las DLLs necesarias para mostrar los mensajes de un equipo remoto.\n\nThe following information is part of the event:\n\n"
|
||||
IDS_EVENTSTRINGIDNOTFOUND "No se pudo recuperar la descripción para el evento con ID ( %lu ) y origen ( %s ). El equipo local puede no tener la información necesaria en el registro o las DLLs necesarias para mostrar los mensajes de un equipo remoto.\n\nThe following information is part of the event:\n\n"
|
||||
IDS_CLEAREVENTS_MSG "¿Desea guardar este registro de eventos antes de borrarlo?"
|
||||
IDS_SAVE_FILTER "Registro de eventos (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Error"
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Journal d'événements (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "Visionneuse d'événements ReactOS\n\
|
||||
\n\
|
||||
EventVwr [nom ordinateur] [/l:<fichier journal>] [/?]\n\
|
||||
\n\
|
||||
""nom ordinateur"" : Spécifie l'ordinateur distant auquel se connecter\n\
|
||||
\tpour récupérer les événements à afficher. Si aucun nom n'est spécifié,\n\
|
||||
\tl'ordinateur local est utilisé.\n\
|
||||
\n\
|
||||
/l:<fichier journal> : Spécifie quel fichier journal ouvrir.\n\
|
||||
\tSeuls les fichiers au format .evt (NT ≤ 5.2) sont supportés.\n\
|
||||
\n\
|
||||
/? : Affiche ce message d'aide.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Erreur"
|
||||
|
@ -175,15 +193,15 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_COPY "Event Type: %s\r\n\
|
||||
Event Source: %s\r\n\
|
||||
Event Category: %s\r\n\
|
||||
Event ID: %s\r\n\
|
||||
Date: %s\r\n\
|
||||
Time: %s\r\n\
|
||||
User: %s\r\n\
|
||||
Computer: %s\r\n\
|
||||
Description:\r\n%s"
|
||||
IDS_COPY "Type d'événement : %s\r\n\
|
||||
Source de l'événement : %s\r\n\
|
||||
Catégorie de l'événement : %s\r\n\
|
||||
ID de l'événement : %s\r\n\
|
||||
Date : %s\r\n\
|
||||
Heure : %s\r\n\
|
||||
Utilisateur : %s\r\n\
|
||||
Ordinateur : %s\r\n\
|
||||
Description :\r\n%s"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "שגיאה"
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Errore"
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "エラー"
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "에러"
|
||||
|
|
|
@ -142,6 +142,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Feil"
|
||||
|
|
|
@ -146,6 +146,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Dziennik zdarzeń (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Błąd"
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Erro"
|
||||
|
|
|
@ -147,6 +147,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Jurnal de evenimente (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Eroare"
|
||||
|
@ -186,7 +204,7 @@ Dată: %s\r\n\
|
|||
Oră: %s\r\n\
|
||||
Utilizator: %s\r\n\
|
||||
Calculator: %s\r\n\
|
||||
Descriere :\r\n%s"
|
||||
Descriere:\r\n%s"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Журнал событий (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Ошибка"
|
||||
|
|
|
@ -147,6 +147,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Chyba"
|
||||
|
|
|
@ -150,6 +150,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Error"
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Fel"
|
||||
|
|
|
@ -150,6 +150,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "Olay Kaydı (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Yanlışlık"
|
||||
|
|
|
@ -139,11 +139,29 @@ BEGIN
|
|||
IDS_EVENTLOG_SYSTEM "System Logs"
|
||||
IDS_EVENTLOG_APP "Application Logs"
|
||||
IDS_EVENTLOG_USER "User Logs"
|
||||
IDS_EVENTSTRINGIDNOTFOUND "Опис для Ідентифікатора події( %lu ) за джерелом ( %s ) не знайдено. Локальний комп'ютер може не мати необхідної інформації в реєстрі чи DLL файлів повідомлень для відображення повідомлень, що надходять від віддаленого комп'ютера.\n\nThe following information is part of the event:\n\n"
|
||||
IDS_EVENTSTRINGIDNOTFOUND "Опис для Ідентифікатора події ( %lu ) за джерелом ( %s ) не знайдено. Локальний комп'ютер може не мати необхідної інформації в реєстрі чи DLL файлів повідомлень для відображення повідомлень, що надходять від віддаленого комп'ютера.\n\nThe following information is part of the event:\n\n"
|
||||
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
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "Помилка"
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "事件日志 (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "错误"
|
||||
|
@ -175,15 +193,15 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_COPY "事件类型: %s\r\n\
|
||||
事件源: %s\r\n\
|
||||
事件类别: %s\r\n\
|
||||
事件 ID: %s\r\n\
|
||||
日期: %s\r\n\
|
||||
时间: %s\r\n\
|
||||
用户: %s\r\n\
|
||||
电脑: %s\r\n\
|
||||
描述:\n%s"
|
||||
IDS_COPY "事件类型: %s\r\n\
|
||||
事件源: %s\r\n\
|
||||
事件类别: %s\r\n\
|
||||
事件 ID: %s\r\n\
|
||||
日期: %s\r\n\
|
||||
时间: %s\r\n\
|
||||
用户: %s\r\n\
|
||||
电脑: %s\r\n\
|
||||
描述:\r\n%s"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
|
|
@ -144,6 +144,24 @@ BEGIN
|
|||
IDS_SAVE_FILTER "事件日誌 (*.evt)\0*.evt\0"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* Please note that explicit TAB characters '\t' are used to fix the alignment of the message in the MessageBox */
|
||||
IDS_USAGE "ReactOS Event Viewer\n\
|
||||
\n\
|
||||
EventVwr [computer name] [/l:<event log file>] [/?]\n\
|
||||
\n\
|
||||
""computer name"" : Specifies the remote computer where to connect\n\
|
||||
\tto retrieve the events to display. If no name is specified, the\n\
|
||||
\tlocal computer is used.\n\
|
||||
\n\
|
||||
/l:<event log file> : Specifies which event log file to open.\n\
|
||||
\tOnly files in the .evt format (NT ≤ 5.2) are supported.\n\
|
||||
\n\
|
||||
/? : Displays this help message.\n\
|
||||
"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_EVENTLOG_ERROR_TYPE "錯誤"
|
||||
|
@ -175,15 +193,15 @@ END
|
|||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_COPY "事件種類: %s\r\n\
|
||||
事件源: %s\r\n\
|
||||
事件種類: %s\r\n\
|
||||
事件 ID: %s\r\n\
|
||||
日期: %s\r\n\
|
||||
時間: %s\r\n\
|
||||
使用者: %s\r\n\
|
||||
電腦: %s\r\n\
|
||||
描述:\n%s"
|
||||
IDS_COPY "事件種類: %s\r\n\
|
||||
事件源: %s\r\n\
|
||||
事件種類: %s\r\n\
|
||||
事件 ID: %s\r\n\
|
||||
日期: %s\r\n\
|
||||
時間: %s\r\n\
|
||||
使用者: %s\r\n\
|
||||
電腦: %s\r\n\
|
||||
描述:\r\n%s"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
|
|
@ -93,6 +93,8 @@
|
|||
#define IDS_CLEAREVENTS_MSG 110
|
||||
#define IDS_SAVE_FILTER 111
|
||||
|
||||
#define IDS_USAGE 120
|
||||
|
||||
#define IDS_EVENTLOG_ERROR_TYPE 200
|
||||
#define IDS_EVENTLOG_WARNING_TYPE 201
|
||||
#define IDS_EVENTLOG_INFORMATION_TYPE 202
|
||||
|
|
Loading…
Reference in a new issue