c++ - 如何在 VB.net 中使用 Windows 电源管理 API

标签 c++ vb.net windows winapi

我有一个正在创建的程序,它集成了一个功能,可以告诉您当前的电源方案,并可以选择设置一个预配置的 .pow 文件。如果我在命令提示符下使用 powercfg 命令并且我已经使用

将其集成到程序中,这将非常容易做到
Process.start"cmd", "/k powercfg... etc. etc." 

我更希望能够使用 Windows API 来调用此设置,这样我就不必在每次要更新此设置时都运行命令窗口,这样我就可以保留当前方案动态。

据我了解,VB.net 不具备以这种方式直接使用 Windows API 的能力。做一些研究我发现 C++ 可以。我想知道是否有一种方法可以创建一个 DLL 文件,我可以使用 C++ 通过我的 VB.net 脚本调用它。或者如果有更简单的解决方案,我很想知道。

最佳答案

有几个选项供您使用。我认为在您的 VB.NET 项目中使用 WMI 可能是最好的。您将需要添加对 System.Management 和 System.Management.Instrumentation 命名空间的引用。有关使用代码的详细信息,请参阅 MSDN 上的此页面:

https://msdn.microsoft.com/en-us/library/ms257340(v=vs.80).aspx

虽然下面是一个 C# 示例,但它应该让您很好地了解如何在 .NET 中针对 WMI 编写查询,并且它在某种程度上也特定于您的目标。

Is there any API function to get the battery level in Windows Desktop Apps?

希望这对您有所帮助。

关于c++ - 如何在 VB.net 中使用 Windows 电源管理 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32360767/

相关文章:

c++ - Windows XP 上的真彩色 CImageList

c++ - 图的平均最优路径

c# - 如果我在处理 WCF 请求时停止我的 Windows 服务,会发生什么情况?

php - require_once 无法在 Windows 10 上加载现有文件(适用于 Linux)

ruby - 连接到串行端口时权限被拒绝?

windows - Powershell 将多个 key 导出到一个 .reg 文件

c++ - 学习 C++ 的视频类(class)

python - 当我在 macOS 上使用 py++ 生成 boost.Python 包装器时,我收到了关于 std::string 的错误?

sql - 如何在 VB.NET 中从 SQL 数据库读取全表?

c# - .Net HTML 编辑器控件