问题标签 [managementeventwatcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
9862 浏览

c# - 如何使用 ManagementEventWatcher 来跟踪暂停/恢复?

我正在尝试在服务中使用 ManagementEventWatcher 来跟踪计算机何时进入和退出睡眠模式。我是 .NET 和 C# 的新手,所以我很难想出语法来完成这项工作。

我找到了一篇博客文章,详细说明了他如何使用 ManagementEventWatcher 来跟踪此状态,但他没有发布他的整个代码。我正在尝试创建一个简单的服务,该服务会创建一个 .txt 日志文件,说明计算机已暂停/恢复,但在命名空间和类型方面遇到问题。

这是 service.cs 文件的代码:

同样,这是我第一次使用 .NET 和 C# 进行编程,所以我为我的无知道歉。

我收到命名空间错误,例如:

找不到类型或命名空间名称“ManagementEventWatcher”(您是否缺少 using 指令或程序集引用?)

谢谢,

托梅克

0 投票
1 回答
5757 浏览

c# - 您可以使用 ManagementEventWatcher 类查询什么

一直在玩 ManagementEventWatcher 类,我很好奇您可以选择哪些系统事件和对象 * from ..

某处有公布的名单吗?

0 投票
3 回答
7145 浏览

c# - ManagementEventWatcher(WMI) 通知来自远程计算机的事件时出现异常

我正在尝试使用 WMI 和 C# 从远程机器的事件查看器中获取通知。我能够连接系统并使用ManagementObjectSearcher. 但是当我尝试使用ManagementEventWatcher.Start方法时,我遇到了一个异常:

访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))

我已将 WMI 控制中root\cimv2的权限授予并授予 DCOM 配置中用户帐户的管理员权限。

我有普通的 Windows 应用程序,因此我没有使用 ASP.net(ASPNET 用户)。

我的代码是:

0 投票
1 回答
2986 浏览

c# - ManagementEventWatcher - 应用程序存在时出现 InvalidComObjectException

我已经构建了一个使用ManagementEventWatcher该类的 .net 库。我的库是一次性的,所以通常我会将它包装在 using 语句中,并且ManagementEventWatcher该类将由我的库处理。

我的问题是我的库暴露给 COM,并在不使用一次性模式的 VB6 中使用。如果用户没有从他们的 .net 应用程序中调用库上的 dispose,或者由于 VB6 而不能调用,则该类将从内部ManagementEventWatcher抛出一个InvalidComObjectExceptionSinkForEventQuery.Cancel

我无法捕获异常,所以它仍然未处理,这不好。我可以尝试一些解决方法吗?

0 投票
1 回答
1328 浏览

c# - C# 中的 WMI 查询在非英语机器上不起作用

我正在创建一个需要跟踪进程何时启动的应用程序,然后在它完成时引发一个事件。

我的代码可以完美运行,并且完全符合我在英语机器上的需要,但是当我在法语机器上运行相同的应用程序时它会失败。

这是失败的代码

尝试启动查询时出现错误:wstart.Start();

对 wstop.Start(); 做同样的事情

我只能猜测它与语言和查询字符串有关,但我正在抓住稻草。

它提出的错误是: “要求不可分析”

任何帮助将不胜感激!

马丁

编辑:在 2 台相同的机器上测试,唯一的区别是第一次启动时选择的语言。

0 投票
2 回答
3377 浏览

c# - 找不到类型或命名空间名称“ManagementEventWatcher”

为什么我在以下代码中找不到类型或命名空间名称“ManagementEventWatcher” :

我认为我的dll没有这个方法,但是如何检查呢?

0 投票
2 回答
2966 浏览

c#-4.0 - 启动 ManagementEventWatcher 时未找到异常

启动 MaagementEventWatcher 时有时未找到异常

我的代码示例如下:

例外:

注意:我检查了注册表,找到了文件夹和文件。

0 投票
4 回答
11809 浏览

c# - 访问路径 'c:\$Recycle.Bin\S-1-5-18' 被拒绝

我有这段代码可以将所有文件从源目录复制F:\到目标目录。

并获得例外。

如果我省略SearchOption.AllDirectories并且它可以工作但只复制文件F:\

0 投票
1 回答
366 浏览

c# - 在 WqlEventQuery 中为超过 1 个网络适配器编写查询在 c# 中失败

我正在尝试检测 2 个网络适配器的 DNS 更改。
我在 win 7 64 位机器上使用 c# .net 4.0。
监听网络适配器win注册表项的代码(在RegisterToDNSChanges里面):

此代码正确提取网络适配器,并希望通过使用 ManagementEventWatcher 来查询每个网络适配器的 DNS 更改,并查询超过 1 个网络适配器 ID。对于 1 个单个网络适配器,它可以完美运行,但是当有 2 个时,我在该捕获机制中收到错误“发生错误:未找到”。

被拒绝的查询如下所示:

仅 1 个网络适配器的成功查询如下所示:

您知道为什么 ManagementEventWatcher 会拒绝对 2 个不同网络适配器的查询吗?谢谢

0 投票
1 回答
281 浏览

c# - 防止用户运行多个进程实例

我不是一个经验丰富的程序员,所以任何建议/指导/示例将不胜感激!我在 C#(.Net 框架 4.5)中有一个 Windows 窗体应用程序,它正在替换 Windows 服务(遇到 Session0 变量的问题)。应用程序需要打开一个进程,(我将以记事本为例)并每 5 分钟检查一次记事本是否仍然打开。如果记事本未打开,则表单应用程序必须打开它的一个实例。如果记事本已经打开,应用程序必须阻止用户打开另一个记事本实例。我的编码当前关闭了记事本的所有实例。我只需要应用程序停止打开记事本的第二个实例。问题是根本不允许用户与应用程序交互,因为您会在编码中注意到用户甚至看不到表单。