小编car*_*ris的帖子

找不到源“Microsoft-Windows-Kernel-Power”中事件 ID“X”的描述

我正在尝试使用以下方法读取 C# .NET 3.5 中的系统事件日志EventLog.GetEventLogs。这似乎对我想查看的各种事件日志都非常有效。只有一个例外:Microsoft-Windows-Kernel-Power可以读取但会产生以下消息的事件日志:

Microsoft-Windows-Kernel-Power 找不到源“Microsoft-Windows-Kernel-Power”中事件 ID“X”的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示消息,或者您可能没有访问它们的权限。以下信息是事件的一部分:'Y', 'Z'

而不是 Windows 事件查看器中显示的正确消息。

代码看起来像这样

var myEventLogs = new List<myModels.EventLogEntry>();

foreach (var eventLog in EventLog.GetEventLogs())
{
    foreach (var entry in eventLog.Entries)
    {
        if (entry.Source.IndexOf("kernel-power", StringComparison.OrdinalIgnoreCase) == -1 &&
            entry.Message.IndexOf("kernel-power", StringComparison.OrdinalIgnoreCase) == -1)
            continue;

        myEventLogs.Add(new myModels.EventLogEntry(entry.Source, entry.Message))
    }
}
Run Code Online (Sandbox Code Playgroud)

即使我以管理员身份运行应用程序,也会发生这种情况。我在这里不知所措。我在互联网上进行了广泛的搜索,发现了一些似乎有类似问题的帖子,但大多数帖子都是为了编写事件日志,而不是在阅读它们时遇到问题。有没有人熟悉这种问题,或者可以指出我正确的方向?我所有的注册表项等似乎都设置正确(并且在不同的 PC 上也显示相同的结果)。

编辑:Windows 版本 10.0.18363 Build 18363 但它发生在多台 PC 上(我不确定其他人使用的是什么 Windows 版本)。事实上,我还没有找到一个有效的(到目前为止测试了 5 个)。

c#

7
推荐指数
1
解决办法
349
查看次数

从Android 8中的本机访问ro.serialno?

我需要一些帮助.我有一个主要用本机C代码编写的应用程序.我用这个__system_property_get(const char * name, char * value)方法来读取序列号.我的本机代码中各个点的设备.使用Android 8,我现在总是收到"拒绝访问"消息.
libc:访问被拒绝查找属性"ro.serialno"
有没有办法让我仍然能够读取序列号.在Android 8?我尝试切换到targetSDKversion <26但它仍然给我一个"拒绝访问"的消息.如果我使用Java Build.SERIAL(不管SDK版本),我会得到正确的值,Build.getSerial()如果我授予READ_PHONE_STATE权限,我会在SDK版本26中得到正确的值.但我无法在Java中读取这些值并将它们传递给本机代码,而无需重写本机代码.

有帮助吗?

c permissions android native

5
推荐指数
1
解决办法
2978
查看次数

标签 统计

android ×1

c ×1

c# ×1

native ×1

permissions ×1