Przeszukiwałem Internet w poszukiwaniu formalnej definicji tego fragmentu dzienników zdarzeń Windows. Jak określa się kategorię? Czy istnieje zestaw standardowych wartości dla tego pola? Czy aplikacja może utworzyć własną kategorię zadań?
Przeszukiwałem Internet w poszukiwaniu formalnej definicji tego fragmentu dzienników zdarzeń Windows. Jak określa się kategorię? Czy istnieje zestaw standardowych wartości dla tego pola? Czy aplikacja może utworzyć własną kategorię zadań?
Odpowiedzi:
Patrząc na .NET Dziennik zdarzeń i EventLogEntry zajęcia powinny dać ci wskazówkę, zwłaszcza te ostatnie Kategoria własność:
Każda aplikacja (źródło zdarzenia) może definiować własne ponumerowane kategorie i ciągi tekstowe, do których są mapowane. Podgląd zdarzeń może użyć kategorii do filtrowania zdarzeń w dzienniku.
Dodatkowo, jak na stronie Kategorie zdarzeń stwierdza:
Kategorie pomagają organizować wydarzenia, dzięki czemu Podgląd zdarzeń może je filtrować. Każdy źródło zdarzenia może definiować własne ponumerowane kategorie i ciągi tekstowe, do których są mapowane.
Strona pokazuje, w jaki sposób aplikacja (która byłaby źródłem zdarzenia) może definiować własne kategorie zdarzeń. Możesz uzyskać kilka przydatnych wskazówek na temat tego, jak działa ten przykład na Win7 i Server 2008 R2 tutaj . Ten artykuł dr Dobba o Dostosowywanie kategorii dziennika zdarzeń może być również przydatny. Jestem pewien, że dostępnych jest dużo więcej samouczków, a jeśli potrzebujesz pomocy z kodem Stack Overflow, to miejsce, do którego należy się zwrócić.
Uwaga: AFAIK nie ma zestawu standardowych wartości dla tego pola, ponieważ aplikacja może używać własnych niestandardowych ciągów. Oczywiście, jeśli chcesz używać tych, których używa sam system Windows, jestem pewien, że muszą być gdzieś zdefiniowane w jakimś pliku zasobów / nagłówku / pliku wiadomości.
Aplikacje mogą tworzyć własne kategorie zadań. Działa tak samo, jak aplikacje tworzą własne teksty komunikatów o zdarzeniach: umieszczasz je w pliku .mc, używasz kompilatora wiadomości, aby skompilować je do pliku .rc, użyj kompilatora zasobów, aby skompilować to do pliku .res, i użyj link.exe, aby skompilować to do biblioteki DLL.
Jeśli nigdy wcześniej tego nie robiłeś, na stronie znajduje się samouczek pierwszej klasy http://www.eventlogblog.com/mt/mt-search.cgi?search=python&IncludeBlogs=1 - Wypróbowałem go niedawno i nadal działa dla obecnych wersji Platform SDK i Visual Studio Express, chociaż musisz skonfigurować dodatkowe foldery w PATH, dla plików wykonywalnych i DLL.
Teksty kategorii mogą znajdować się we własnej bibliotece DLL, ale można je również umieścić w tej samej bibliotece DLL, co komunikaty. Jeśli to zrobisz, kategorie powinny znajdować się na początku pliku .mc i ponumerowane od 1 bez luk. W wpisie rejestru swojej biblioteki DLL powiesz systemowi Windows, ile wiadomości to kategorie, powiedzmy 5, a następnie traktuje pierwsze 5 wiadomości jako kategorie.