Saya mencoba untuk menulis sebuah program kecil di VB.NET yang mendeteksi ketika laptop saya telah terputus dari sumber listrik dan beralih rencana daya ke penghemat daya dan sebaliknya ketika dicolokkan ke listrik.
Saya mencoba melakukannya melalui registri dengan potongan kode ini
Select Case power_status.ACLineStatus
Case 0
Dim CurrentPowerPlan As String = My.Computer.Registry.LocalMachine.OpenSubKey("SYSTEM").OpenSubKey("CurrentControlSet").OpenSubKey("Control").OpenSubKey("Power").OpenSubKey("User").OpenSubKey("PowerSchemes").GetValue("ActivePowerScheme")
If CurrentPowerPlan <> "a1841308-3541-4fab-bc81-f71556f20b4a" Then
Label1.Text = "Running On Battery"
ChangePowerPlan("a1841308-3541-4fab-bc81-f71556f20b4a") 'Power Saver
End If
Case 1
Dim CurrentPowerPlan As String = My.Computer.Registry.LocalMachine.OpenSubKey("SYSTEM").OpenSubKey("CurrentControlSet").OpenSubKey("Control").OpenSubKey("Power").OpenSubKey("User").OpenSubKey("PowerSchemes").GetValue("ActivePowerScheme")
If CurrentPowerPlan <> "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c" Then
Label1.Text = "Connected To NEPA"
ChangePowerPlan("8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c") 'High Performance
End If
'Case 255
'MessageBox.Show("Unknown")
End Select
Tapi itu mengembalikan kesalahan ini
Requested registry access is not allowed.
Saya juga telah mendengar tentang fungsi Win32 `` "PowerSetActiveScheme" `tetapi saya tidak tahu bagaimana memetakannya ke VB.NET.
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd /K CD C:\ & Dir"