1

Как установить для параметра «Когда я нажимаю кнопку питания на моем компьютере:» в Windows XP значение "Ничего не делать" с ключом реестра или сценарием?

Я нашел этот пример в поиске, однако он предназначен для кнопки сна, и, похоже, он не работает.

Я нашел эти ключи, но я понятия не имею, каким должно быть правильное значение, так как это REG_BINARY

HKLM\SYSTEM\ControlSet001\Control\Session Manager\Power\AcPolicy
HKLM\SYSTEM\ControlSet001\Control\Session Manager\Power\DcPolicy
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power\AcPolicy
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power\DcPolicy

2 ответа2

2

Не знаю, если вы все еще ищете решение. Мне нужно было что-то, чтобы изменить настройку кнопки питания с "Завершение работы" по умолчанию на "Ничего не делать", поэтому я написал этот VBScript.

'***************************************************************************************
' File:             pwrDoNothing.vbs
' Author:           Joe Rawlins
' Purpose:          Set system Power Button to 'Do nothing'
'                   
'
' Notes:            Requires button to be held for 5 seconds to initiate shutdown
'                   
'                   
'                   
'
' Last Modified:    06/25/2010  jtr Initial creation
'                   
'***************************************************************************************
Option Explicit

Dim objShell, WshShell

Set objShell = CreateObject("Shell.Application")
Set WshShell = CreateObject("WScript.Shell")

objShell.ControlPanelItem("powercfg.cpl")

WScript.Sleep 500
WshShell.SendKeys "+{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{RIGHT}"
WScript.Sleep 500
WshShell.SendKeys "{TAB 2}"
WScript.Sleep 500
WshShell.SendKeys "{UP 2}"
WScript.Sleep 500
WshShell.SendKeys "{ENTER}"

Источник скрипта

1

Поскольку я не мог определить соответствующие значения ключа реестра, я просто написал скрипт для автоматизации диалога. И так как я использовал AutoIT для других целей, это то, что я использовал. Надеюсь, что это может помочь кому-то еще.

#include <GuiTab.au3>
; Start the System control panel
Run("rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl,,3")

$title = "Power Options Properties"
$text = ""
WinWait( $title, $text)
If Not WinActive( $title, $text) Then WinActivate( $title, $text)
WinWaitActive( $title, $text)

;select the 'Advanced' tab
$hTab = ControlGetHandle( $title, $text, "[CLASS:SysTabControl32; INSTANCE:1]")
_GUICtrlTab_ClickTab($hTab, 1)
Sleep(10)

;set the combobox to 'Do nothing'
ControlCommand( $title, $text, "[CLASS:ComboBox; INSTANCE:2]", "SelectString", "Do nothing")
Sleep(10)

;click OK
ControlClick( $title, $text, "[CLASS:Button; INSTANCE:6]")

Сценарий просто открывает диалоговое окно параметров электропитания, выбирает вкладку «Дополнительно», устанавливает для комбо значение «Ничего не делать» и нажимает кнопку «ОК».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .