我正在开发一个 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 中的用户需要管理员权限才能写入事件日志。当我以“运行广告管理员”模式执行应用程序时,同样成功。
那么有什么方法可以为 vb.net 中的代码段授予管理员权限(模拟除外)?