将注册表添加到注册表

【勇芳软件工作室】汉化HomePreviousNext

您可以使用默认的应用事件日志,而不将您的源名称添加到注册表。但是,事件查看器将无法将事件标识符代码映射到消息字符串,除非您注册源并提供消息文件名。

您可以通过在应用键下打开新的注册表子项,并将注册表值添加到新的子项,为注册表添加新的源名称。以下代码示例打开名为SamplApp的新源名称,并将新的子项添加到支持类型的消息文件名和位掩码。

HKEY hk;

DWORD dwData;

UCHAR szBuf[80];

/*

*将您的源名称添加为应用程序下的子项

*键入注册表的EventLog服务部分。

*/

if(RegCreateKey(HKEY_LOCAL_MACHINE,

"SYSTEM\\CurrentControlSet\\Services\

\\EventLog\\Application\\SamplApp",

&hk))

ErrorExit("could not create registry key");

/ *设置事件ID消息文件名。*/

strcpy(szBuf, "%SystemRoot%\\System\\SamplApp.dll");

/ *将事件ID消息文件名添加到子项。*/

if(RegSetValueEx(hk,/ * subkey handle * /

“EventMessageFile”,/ *值名* /

0,/ *必须为零* /

REG_EXPAND_SZ,/ *值类型* /

(LPBYTE)szBuf,/ *值数据的地址* /

strlen(szBuf)+ 1))/ *值数据的长度* /

ErrorExit("could not set event message file");

/ *设置支持的类型标志。*/

dwData = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE |

EVENTLOG_INFORMATION_TYPE;

if(RegSetValueEx(hk,/ * subkey handle * /

“TypesSupported”,/ *值名称* /

0,/ *必须为零* /

REG_DWORD,/ *值类型* /

(LPBYTE)& dwData,/ *值数据的地址* /

sizeof(DWORD)))/ *值数据的长度* /

ErrorExit("could not set supported types");

RegCloseKey(hk);