Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2018.04.22;
Скачать: [xml.tar.bz2];

Вниз

Своё сообщение в EventLog Windows   Найти похожие ветки 

 
neversleep   (2010-11-09 17:04) [0]

Возникла проблема при добавлении записи в журнал событий:

ресурс сообщения существует, но сообщение не найдено в таблице строк и таблице сообщений
-
Не пойму почему ОС (Win7) не находит нужный ресурс, помогите разобраться. Что делаю:

1) Регистрируюсь в реестре:

HKLM\SYSTEM\CurrentControlSet\services\eventlog\Application\SvcName

С единственным параметром EventMessageFile (REG_EXPAND_SZ), который содержит путь к исполняемому файлу.

2) Создаю ресурс в своём exe`шнике:

STRINGTABLE
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
   0, "Hello"
   1, "Goodbye"
}


3) Делаю запись: (код на С++ (надеюсь это проблема :)

void LogMsg(TCHAR *s)
{
   if (g_hEventLog)
   {
       LPCTSTR p = s;

       ReportEvent(g_hEventLog, EVENTLOG_INFORMATION_TYPE, 0, 1, NULL, 1, 0, &p, NULL);
   }
}


В итоге получаю выше указанное сообщение...


 
clickmaker ©   (2010-11-09 17:32) [1]

http://www.codenet.ru/progr/delphi/stat/Event-Log.php


 
neversleep   (2010-11-09 20:40) [2]

Спасибо, эту статью я видел, и c MESSABETABLE я уже пробовал, результат тот же... Привожу код:

Содержимое mc файла (mc.exe взят из msvs c++ 6.0):

SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS
Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
Warning=0x2:STATUS_SEVERITY_WARNING
Error=0x3:STATUS_SEVERITY_ERROR
)

FacilityNames=(System=0x0:FACILITY_SYSTEM
Runtime=0x2:FACILITY_RUNTIME
Stubs=0x3:FACILITY_STUBS
Io=0x4:FACILITY_IO_ERROR_CODE
)

MessageIdTypedef=DWORD

LanguageNames=(Neutral=0x000:MSG00000)
LanguageNames=(Russian=0x419:MSG00419)

MessageId=0x1
Facility=Runtime
Language=Russian
%1
.


Ресурс:

LANGUAGE LANG_RUSSIAN, SUBLANG_NEUTRAL
1 MESSAGETABLE MSG00419.bin


Код добавления в реестр: (сорри что на c++)

if (!g_hEventLog)
{
TCHAR szPath[MAX_PATH];
wsprintf(szPath, TEXT("SYSTEM\\CurrentControlSet\\services\\eventlog\\Application\\%s"), ServiceName);

HKEY hKey;
if (RegCreateKeyEx(HKEY_LOCAL_MACHINE,
     szPath,
     0,
     NULL,
     REG_OPTION_NON_VOLATILE,
     KEY_WRITE,
     NULL,
     &hKey,
     NULL
     ) == ERROR_SUCCESS)

{
 DWORD dwTmp = GetModuleFileName(hInst, szPath, MAX_PATH);

 _RegSetValue(hKey, TEXT("EventMessageFile"), REG_SZ, szPath, dwTmp);

 dwTmp = EVENTLOG_SUCCESS | EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE;
 _RegSetValue(hKey, TEXT("TypesSupported"), REG_DWORD, (TCHAR*)&dwTmp, sizeof(DWORD));

 RegCloseKey(hKey);

 g_hEventLog = RegisterEventSource(NULL, ServiceName);
}
}


Хелп.

PS
ResHacker показывает что все ресурсы на месте...


 
clickmaker ©   (2010-11-10 12:31) [3]

в реестр всё прописалось? g_hEventLog != NULL ?


 
neversleep   (2010-11-10 14:49) [4]

Да, все нормально, я упустил один момент:

#define FACILITY_RUNTIME 0x2

ReportEvent(g_hEventLog, EVENTLOG_INFORMATION_TYPE, 0, MAKELONG(0x1, FACILITY_RUNTIME), NULL, 1, 0, (const CHAR**)&s, NULL);



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2018.04.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.001 c
4-1289311489
neversleep
2010-11-09 17:04
2018.04.22
Своё сообщение в EventLog Windows


2-1461353048
BondFx
2016-04-22 22:24
2018.04.22
MD5


15-1471959711
Игорь Шевченко
2016-08-23 16:41
2018.04.22
Раздается Delphi 10.1 starter edition


2-1459763922
Dmk
2016-04-04 12:58
2018.04.22
Вращение


2-1461311382
istok20
2016-04-22 10:49
2018.04.22
массив из oleacc.IAccessible через TList





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский