如何创build/插入WMI对象?

我正在做一个pipe理C#中的Windows电源计划的软件,通过ManagementObjet获得电源计划并设置它的设置很容易。 但是我想创build一个新的Power Plan,换句话说就是创build一个新的WMI对象,我不知道该怎么做。

有谁知道如何创build它?

Solutions Collecting From Web of "如何创build/插入WMI对象?"

你不能在WMI中这样做。 您可以使用此处所述的Power Scheme Management的Win32 API来创建您的计划,然后使用WMI进行监视/管理。

要创建一个电源方案,您需要先使用PowerDuplicateScheme函数复制一个现有的方案,指定您希望基于新方案的方案的GUID。 您应该复制其中一个内置方案并根据需要修改电源设置。

现在它正在工作…按照我的做法:

using System.Runtime.InteropServices; [DllImport("powrprof.dll", EntryPoint = "PowerDuplicateScheme", SetLastError = true)] public static extern UInt32 PowerDuplicateScheme(IntPtr RootPowerKey, ref Guid SrcSchemeGuid, ref IntPtr DstSchemeGuid); public static Guid createNewPowerPlan() { Guid result = new Guid(); IntPtr RetrPointer = IntPtr.Zero; // Attempt to duplicate the 'Balanced' Power Scheme. NativeMethods.PowerDuplicateScheme(IntPtr.Zero, ref VISA_PM_BASIC_SCHEMES.BALANCED, ref RetrPointer); if (RetrPointer != IntPtr.Zero) { // Function returns a pointer-to-memory, marshal back to our Guid variable. result = (Guid)Marshal.PtrToStructure(RetrPointer, typeof(Guid)); } return result; } 

谢谢你的帮助