我正在做一個軟件來管理C#中的Windows電源計劃,並且通過ManagementObjet獲得電源計劃並設置它的設置非常簡單。但是我想創建一個新的Power Plan,換句話說,創建一個新的WMI對象,我不知道該怎麼做。如何創建/插入WMI對象?
做任何人都知道如何創建它?
我正在做一個軟件來管理C#中的Windows電源計劃,並且通過ManagementObjet獲得電源計劃並設置它的設置非常簡單。但是我想創建一個新的Power Plan,換句話說,創建一個新的WMI對象,我不知道該怎麼做。如何創建/插入WMI對象?
做任何人都知道如何創建它?
你不能在WMI中這樣做。您可以使用描述here所述的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;
}
感謝您的幫助
我發現這太: – fghoffmann 2010-12-15 11:49:56