【发布时间】:2012-07-06 05:34:15
【问题描述】:
我正在开发一个 Windows .NET 应用程序,我想写入事件日志。
Public Shared Sub WriteExceptionToEventLog(ByVal message As String)
Dim cs As String = "TESTLOG"
Dim elog As New EventLog()
Dim sourceExist As Boolean
Try
sourceExist = EventLog.SourceExists(cs)
Catch ex As Exception
sourceExist = False
End Try
If Not sourceExist Then
Dim ev As New EventLogPermission(EventLogPermissionAccess.Administer, ".")
ev.PermitOnly()
EventLog.CreateEventSource(cs, "TESTLOG")
End If
elog.Source = cs
elog.EnableRaisingEvents = True
EventLog.WriteEntry(cs, message, EventLogEntryType.[Error])
End Sub
但这不起作用,因为 Windows 7 中的用户需要管理员权限才能写入事件日志。当我以“Run ad Admin”模式执行应用程序时,同样成功。
那么有什么方法可以为 vb.net 中的代码段授予管理员权限(模拟除外)?
【问题讨论】:
-
您是在常规应用程序还是服务中运行?
-
它是一个普通的 Windows 应用程序.. 不是服务
标签: .net vb.net windows-7 event-log securityexception