我正在研究Windows .NET應用程序,並且想寫入Eventlog。將用戶提升到管理員級別,以寫入到.NET中的Eventlog中
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中的用戶需要Admin預先寫入Eventlog。當我使用「運行廣告管理」模式執行應用程序時,也是如此。
那麼有什麼辦法給vb.net代碼段的管理員權限(模擬除外)?
你是在一個普通的應用程序或服務中運行? – 2012-07-06 05:53:53
它是一個普通的Windows應用程序..不是服務 – smashstar 2012-07-06 06:44:33