a513155803 2019-03-15 10:31 采纳率: 100%
浏览 312
已采纳

VS2013中C++/CLR的EventLog问题

代码如下

    EventLog log = gcnew EventLog();
    try
    {
        log.Source = "我的应用程序";
        log.WriteEntry("处理信息1", EventLogEntryType::Information);
        log.WriteEntry("处理信息2", EventLogEntryType::Information);
        throw gcnew System::IO::FileNotFoundException("readme.txt文件未找到");
    }
    catch (System::IO::FileNotFoundException ^exception)
    {
        log.WriteEntry("处理信息2", EventLogEntryType::Error);
    }

我这样写了后会报错:无法将参数 1 从“System::Diagnostics::EventLog ^”转换为“System::String ^”

就是那个EventLog log = gcnew EventLog();这里
图片说明
图片说明

  • 写回答

2条回答 默认 最新

  • 窝米逗佛~ 2019-03-15 13:22
    关注

    using namespace System;
    using namespace System::Collections;

    #using "D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2\System.dll"
    using namespace System::Diagnostics;

    COfficeHandle::COfficeHandle()
    {

    System::Diagnostics::EventLog^ log = gcnew System::Diagnostics::EventLog();
    try
    {
        log->Source = "我的应用程序";
        log->WriteEntry( "处理信息1", System::Diagnostics::EventLogEntryType::Information );
        log->WriteEntry( "处理信息2", EventLogEntryType::Information );
        throw gcnew System::IO::FileNotFoundException( "readme.txt文件未找到" );
    }
    catch ( System::IO::FileNotFoundException ^exception )
    {
        log->WriteEntry( "处理信息2", EventLogEntryType::Error );
    }
    

    }
    照 这个试试 我编译通过了的 他那个是c#里面调用的方法 你应该跟我一样是在c++的控制台调用吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?