Como escrever um registo de eventos utilizando o Visual C++

Traduções de Artigos Traduções de Artigos
Artigo: 815661 - Ver produtos para os quais este artigo se aplica.
Para obter uma Microsoft Visual C# .NET versão deste artigo, consulte 307024.
Para obter uma Microsoft Visual Basic .NET versão deste artigo, consulte 301279.

Este artigo refere-se para o Microsoft .NET Framework Class Library seguinte os espaços de nomes:
  • sistema
  • System.Diagnostics
Expandir tudo | Reduzir tudo

Nesta página

INTRODUÇÃO

Este artigo passo a passo descreve como adicionar as suas próprias entradas no registo de eventos do sistema operativo utilizando o Microsoft .NET Framework.

Mais Informação

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server ou Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Microsoft Visual Studio 2005

Escrever um registo de eventos

Registo de eventos fornece um modo padrão e centralizado para as aplicações registar eventos de software e hardware importantes. O Windows fornece uma interface de utilizador padrão para visualizar os registos: o Visualizador de eventos. Utilizando o componente de registo de eventos de tempo de execução de idioma comum, pode ligar a registos de eventos existentes facilmente, em computadores locais e remotos e escrever entradas para estes registos. Também pode ler entradas de registos existentes e criar os seus próprios registos de eventos personalizados. Na sua forma mais simples, escrever um registo de eventos envolve vários passos para criar uma aplicação de exemplo.

Para o fazer, siga estes passos:
  1. Inicie o Visual Studio .NET ou Visual Studio 2005.
  2. Crie um novo projecto de Visual C++ C++ aplicação gerida.

    Nota No Visual C++ .NET 2003, siga estes passos:
    1. Em Project Types , clique em Projectos do Visual C++ .
    2. Em modelos , clique em Consola de aplicações (NET) .
    No Visual C++ 2005, siga estes passos:
    1. Em Project Types , clique em Visual C++ .
    2. Em modelos , clique em Aplicação de consola CLR .
  3. Adicione uma referência system.dll adicionando a seguinte linha de código:
    #using <system.dll>
  4. Utilizar utilizando directiva sobre espaços de nomes sistema e System::Diagnostics para que o não tenham que qualificar declarações destes espaços de nomes mais tarde no código. Tem de utilizar as seguintes instruções antes de quaisquer outras declarações:
    using namespace System;
    using namespace System::Diagnostics;
  5. Para escrever um registo de eventos, tem de ter várias partes de informação: A mensagem, o nome do registo para onde pretende escrever (isto é criado se não existir) e uma cadeia que representa a origem do evento. Pode registar uma determinada origem com apenas um registo de eventos; se pretender escrever mensagens mais do que um registo, tem de definir várias origens.
    String *sSource;
    	String *sLog;
    	String *sEvent;
    
    	sSource = new String("dotNET Sample App1");
    	sLog = new String("Application1");
    	sEvent = new String("Sample Event1");
    
  6. Utilize dois métodos estáticos para a classe de registo de eventos para verificar se a origem existe e se a origem não existe, para criar esta origem está associada um determinado registo de eventos. Se o nome de registo que especificar não existir, o nome é criado automaticamente quando escreve a primeira entrada no registo. Por predefinição, se não fornecer um nome de registo para o método CreateEventSource , o ficheiro de registo é denominado aplicação Log.
    if(!EventLog::SourceExists(sSource)) EventLog::CreateEventSource(sSource,sLog);
    
  7. Para escrever uma mensagem para um registo de eventos, pode utilizar o método estático EventLog.WriteEntry . Este método tem várias versões diferentes de sobrecarregado. O código de exemplo seguinte mostra o método mais simples (isto tem uma cadeia de origem e a mensagem) e um dos métodos mais complexos (que suporta a especificar o ID do evento e o tipo de evento):
    EventLog::WriteEntry(sSource,sEvent);
    	EventLog::WriteEntry(sSource, sEvent, EventLogEntryType::Warning, 235);
  8. Guarde a aplicação. Executar a aplicação e, em seguida, verifique o registo de aplicações no Visualizador de eventos para ver os novos eventos.

Conclua lista de código no Visual C++. NET

#include <tchar.h>
#using <system.dll>
#using <mscorlib.dll>

using namespace System;
using namespace System::Diagnostics;

int _tmain()
{
	String *sSource;
	String *sLog;
	String *sEvent;

	sSource = new String("dotNET Sample App1");
	sLog = new String("Application1");
	sEvent = new String("Sample Event1");

 if(!EventLog::SourceExists(sSource))
   EventLog::CreateEventSource(sSource,sLog);

	EventLog::WriteEntry(sSource,sEvent);
	EventLog::WriteEntry(sSource, sEvent,
		EventLogEntryType::Warning, 234);
	return 0;
}

Concluir lista de código no Visual C++ 2005

#include <tchar.h>
#include <stdafx.h>
#using <system.dll>
#using <mscorlib.dll>

using namespace System;
using namespace System::Diagnostics;

int main()
{
	String ^sSource;
	String ^sLog;
	String ^sEvent;

	sSource = gcnew String("dotNET Sample App1");
	sLog = gcnew String("Application1");
	sEvent = gcnew String("Sample Event1");

 if(!EventLog::SourceExists(sSource))
   EventLog::CreateEventSource(sSource,sLog);

	EventLog::WriteEntry(sSource,sEvent);
	EventLog::WriteEntry(sSource, sEvent,
		EventLogEntryType::Warning, 234);
	return 0;
}

Propriedades

Artigo: 815661 - Última revisão: 11 de janeiro de 2006 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbdebug kbhowtomaster kbeventlog kbhowto KB815661 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 815661

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com