2017-10-04 206 views
0

当我运行下面的代码,我得到异常未处理System.Security.SecurityException:“请求的注册表访问是不允许的”。 我有所有必要的机器访问权限。请求注册表不允许

namespace EventViewer 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      Console.WriteLine("Welcom to Event Log Viewer"); 
      Console.WriteLine("Please enter Retrieve to Retrieve EventLogs"); 
      string Retrieve = Console.ReadLine(); 
      string Logs = Retrieve; 

      switch (Logs) 
      { 
       case "Retrieve": 
        EventLog eventLog; 
        eventLog = new EventLog(); 
        eventLog.Log = "Security"; 
        eventLog.Source = "Security-Auditiing"; 
        eventLog.MachineName = "Cheetah"; 

        var count = 0; 
        foreach (EventLogEntry log in eventLog.Entries) 
        { 
         if (count > 200) 
         { 
          return; 
         } 
         Console.Write("eventLog.Log: ", eventLog.Log); 

        } 
        break; 
      } 





     } 
    } 
} 
+1

您可能需要为程序管理员权限..我跑这个拥有管理员权限并没有得到问题.. –

回答

2

如果您想在应用程序中修复此问题,请执行以下操作。

  1. 将清单文件添加到您的应用程序并设置执行级别,如下所示。执行时

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
    

帖子这个程序会要求管理员权限。

+0

我不认为这会为一个控制台应用程序。 –

+1

@StanleyMabunda它的工作..我测试了它.. –