微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何设置箱子风扇速度

我想创build代码设置机箱风扇的速度,并必须在Windows 7上工作。

我尝试使用WMI代码创build器,但我得到错误Invalid object path

using System; using System.Management; using System.Windows.Forms; namespace WMISample { public class CallWMIMethod { public static void Main() { try { ManagementObject classInstance = new ManagementObject("root\CIMV2","Win32_Fan.ReplaceKeyPropery='ReplaceKeyPropertyValue'",null); // Obtain in-parameters for the method ManagementBaSEObject inParams = classInstance.getmethodParameters("SetSpeed"); // Add the input parameters. inParams["DesiredSpeed"] = 600; // Execute the method and obtain the return values. ManagementBaSEObject outParams = classInstance.InvokeMethod("SetSpeed",inParams,null); // List outParams Console.WriteLine("Out parameters:"); Console.WriteLine("ReturnValue: " + outParams["ReturnValue"]); } catch(ManagementException err) { MessageBox.Show("An error occurred while trying to execute the WMI method: " + err.Message); } } } }

有没有可能参考案例粉丝。 任何帮助可以赞赏?

如何计算任务pipe理器的内存使用情况?

SaveFileDialog阻止可移动驱动器

组类似的任务栏button

在C#中打印后台处理程序API设置标志?

用户login到Windows时,ToolStripButton从PropertyGrid中消失

你在哪里得到调用PowerWriteACValueIndex时使用的索引值?

驱动器select框与Windows窗体中的图标

当有人试图运行我的.net桌面应用程序时,如何强制“运行方式”表单出现?

如何在.NET中侦听Windows广播消息?

在ToolStripMenuItem中捕获mouseClick和KeyDown事件

你编译代码是因为它是有效的代码。 它在运行时失败,因为你要求它做非法的事情。 根据MSDN :

SetSpeed未执行。

既然如此,这条线就会失败:

ManagementBaSEObject inParams = classInstance.getmethodParameters("SetSpeed");

如果没有实现 SetSpeed (而不是简单的忽略),你会得到一个异常,试图检索与它有关的参数。 删除Try / Catch来验证发生在哪一行。

制造商可能会有一个允许这样做的工具,但WMI似乎有疑问。 如果你确实找到了这样的工具,你可能想要评估bool属性VariableSpeed来查看是否支持变速。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐