[POWERCFG]

Bug fix and improvements to PowerCfg applet by Carlo Bramini
CORE-11801 #resolve #comment Committed, thx ^^

svn path=/trunk/; revision=72860
This commit is contained in:
Daniel Reimer 2016-09-29 20:54:58 +00:00
parent c3df272d43
commit 30abd4f6ee
27 changed files with 19 additions and 91 deletions

View file

@ -18,6 +18,6 @@ add_library(powercfg SHARED
${CMAKE_CURRENT_BINARY_DIR}/powercfg.def)
set_module_type(powercfg cpl UNICODE)
add_importlibs(powercfg user32 powrprof comctl32 shell32 advapi32 msvcrt kernel32 ntdll)
add_importlibs(powercfg user32 powrprof comctl32 shell32 advapi32 msvcrt kernel32 ntdll shlwapi)
add_pch(powercfg powercfg.h SOURCE)
add_cd_file(TARGET powercfg DESTINATION reactos/system32 FOR all)

View file

@ -20,8 +20,8 @@ Hib_InitDialog(HWND hwndDlg)
{
SYSTEM_POWER_CAPABILITIES PowerCaps;
MEMORYSTATUSEX msex;
TCHAR szSize[MAX_PATH];
TCHAR szTemp[MAX_PATH];
LPTSTR lpRoot;
ULARGE_INTEGER FreeBytesAvailable, TotalNumberOfBytes, TotalNumberOfFreeBytes;
if (GetPwrCapabilities(&PowerCaps))
@ -37,49 +37,21 @@ Hib_InitDialog(HWND hwndDlg)
}
if (GetWindowsDirectory(szTemp,MAX_PATH))
{
if (!GetDiskFreeSpaceEx(szTemp,&FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
TotalNumberOfFreeBytes.QuadPart = 0;
}
lpRoot = szTemp;
else
{
if (!GetDiskFreeSpaceEx(NULL,&FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
TotalNumberOfFreeBytes.QuadPart = 0;
}
lpRoot = NULL;
if (TotalNumberOfFreeBytes.QuadPart > 0x100000)
{
if (LoadString(hApplet, IDS_SIZEMB, szTemp, MAX_PATH))
{
_stprintf(szSize,szTemp,TotalNumberOfFreeBytes.QuadPart / 0x100000);
SetDlgItemText(hwndDlg, IDC_FREESPACE, szSize);
}
}
else
{
if (LoadString(hApplet, IDS_SIZEBYTS, szTemp, MAX_PATH))
{
_stprintf(szSize,szTemp,TotalNumberOfFreeBytes.QuadPart);
SetDlgItemText(hwndDlg, IDC_FREESPACE, szSize);
}
}
// Get available space and size of selected volume.
if (!GetDiskFreeSpaceEx(lpRoot, &FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
TotalNumberOfFreeBytes.QuadPart = 0;
if (msex.ullTotalPhys>0x100000)
{
if (LoadString(hApplet, IDS_SIZEMB, szTemp, MAX_PATH))
{
_stprintf(szSize,szTemp,msex.ullTotalPhys/0x100000);
SetDlgItemText(hwndDlg, IDC_SPACEFORHIBERNATEFILE,szSize);
}
}
else
{
if (LoadString(hApplet, IDS_SIZEBYTS, szTemp, MAX_PATH))
{
_stprintf(szSize,szTemp,msex.ullTotalPhys);
SetDlgItemText(hwndDlg, IDC_SPACEFORHIBERNATEFILE, szSize);
}
}
// Print the free available space into selected volume.
StrFormatByteSize(TotalNumberOfFreeBytes.QuadPart, szTemp, _countof(szTemp));
SetDlgItemText(hwndDlg, IDC_FREESPACE, szTemp);
// Print the amount of space required for hibernation.
StrFormatByteSize(msex.ullTotalPhys, szTemp, _countof(szTemp));
SetDlgItemText(hwndDlg, IDC_SPACEFORHIBERNATEFILE, szTemp);
if (TotalNumberOfFreeBytes.QuadPart < msex.ullTotalPhys && !PowerCaps.HiberFilePresent)
{

View file

@ -110,8 +110,6 @@ BEGIN
IDS_TEXT "Текст"
IDS_CONFIG1 "Настройки за захранваща наредба %1"
IDS_CONFIG2 "Разширени настройки за %1"
IDS_SIZEBYTS "%i байта"
IDS_SIZEMB "%i МБ"
IDS_NOACTION "Не прави нищо"
IDS_PowerActionNone1 "Бездействие"
IDS_PowerActionUnknown "Неизвестно"

View file

@ -110,8 +110,6 @@ BEGIN
IDS_TEXT "Text"
IDS_CONFIG1 "Nastavení pro schéma napájení %1"
IDS_CONFIG2 "Pokročilá nastavení pro %1"
IDS_SIZEBYTS "%i bytů"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Nedělat nic"
IDS_PowerActionNone1 "Žádná akce"
IDS_PowerActionUnknown "Neznámý"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "Text"
IDS_CONFIG1 "Einstellungen für Energieschema %s."
IDS_CONFIG2 "Erweiterte Einstellungen für %s."
IDS_SIZEBYTS "%i Bytes"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Nichts unternehmen"
IDS_PowerActionNone1 "Keine Aktion"
IDS_PowerActionUnknown "Unbekannt"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "Κείμενο"
IDS_CONFIG1 "Ρυθμίσεις του συνδιασμού τροφοδοσίας %1"
IDS_CONFIG2 "Ειδικές ρυθμίσεις του συνδιασμού %1"
IDS_SIZEBYTS "%i bytes"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Καμία ενέργεια"
IDS_PowerActionNone1 "Να μη γίνεται καμία ενέργεια"
IDS_PowerActionUnknown "Unknown"

View file

@ -110,8 +110,6 @@ BEGIN
IDS_TEXT "Text"
IDS_CONFIG1 "Settings for %1 power scheme"
IDS_CONFIG2 "Advanced settings for %1"
IDS_SIZEBYTS "%i bytes"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Do nothing"
IDS_PowerActionNone1 "No action"
IDS_PowerActionUnknown "Unknown"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "Texto"
IDS_CONFIG1 "Configuración para la combinación de energía %1"
IDS_CONFIG2 "Opciones avanzadas para %1"
IDS_SIZEBYTS "%i bytes"
IDS_SIZEMB "%i MB"
IDS_NOACTION "No hacer nada"
IDS_PowerActionNone1 "No hacer nada"
IDS_PowerActionUnknown "desconocido"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "Texte"
IDS_CONFIG1 "Réglages pour le profil d'alimentation %1"
IDS_CONFIG2 "Réglages avancés pour %1"
IDS_SIZEBYTS "%i octets"
IDS_SIZEMB "%i Mo"
IDS_NOACTION "Ne rien faire"
IDS_PowerActionNone1 "Pas d'action"
IDS_PowerActionUnknown "Inconnue"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "טקסט"
IDS_CONFIG1 "Settings for %1 power scheme"
IDS_CONFIG2 "אפשרויות מתקדמות ל %1"
IDS_SIZEBYTS "%i בית"
IDS_SIZEMB "%i MB"
IDS_NOACTION "אל תעשה דבר"
IDS_PowerActionNone1 "שום פעולה"
IDS_PowerActionUnknown "לא ידוע"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "Teks"
IDS_CONFIG1 "Menyetel untuk %1 skema tenaga"
IDS_CONFIG2 "Setelan Lanjutan untuk %1"
IDS_SIZEBYTS "%i byte"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Tidak melakukan apapun"
IDS_PowerActionNone1 "Tidak ada aksi"
IDS_PowerActionUnknown "Tidak dikenal"

View file

@ -110,8 +110,6 @@ BEGIN
IDS_TEXT "Testo"
IDS_CONFIG1 "Impostazioni per lo schema %1 "
IDS_CONFIG2 "Impostazioni avanzate per %1"
IDS_SIZEBYTS "%i bytes"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Nessuna azione"
IDS_PowerActionNone1 "Nessuna azione"
IDS_PowerActionUnknown "Sconosciuto"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "テキスト"
IDS_CONFIG1 "[%1] の電源設定"
IDS_CONFIG2 "%1の詳細設定"
IDS_SIZEBYTS "%i バイト"
IDS_SIZEMB "%i MB"
IDS_NOACTION "何もしない"
IDS_PowerActionNone1 "何もしない"
IDS_PowerActionUnknown "不明"

View file

@ -110,8 +110,6 @@ BEGIN
IDS_TEXT "Text"
IDS_CONFIG1 "Settings for %1 power scheme"
IDS_CONFIG2 "Advanced settings for %1"
IDS_SIZEBYTS "%i bytes"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Doe niets"
IDS_PowerActionNone1 "Geen actie"
IDS_PowerActionUnknown "Onbekend"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "Tekst"
IDS_CONFIG1 "Innstillinger for %1 strømplan"
IDS_CONFIG2 "Avanserte innstillinger for %1"
IDS_SIZEBYTS "%i byte"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Ikke gjør noe"
IDS_PowerActionNone1 "Ingen handling"
IDS_PowerActionUnknown "Ukjent"

View file

@ -118,8 +118,6 @@ BEGIN
IDS_TEXT "Tekst"
IDS_CONFIG1 "Ustawienia dla schematu %1"
IDS_CONFIG2 "Zaawansowane ustawienia dla %1"
IDS_SIZEBYTS "%i bajtów"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Nie rób nic"
IDS_PowerActionNone1 "Brak akcji"
IDS_PowerActionUnknown "Nieznana"

View file

@ -115,8 +115,6 @@ BEGIN
IDS_TEXT "text"
IDS_CONFIG1 "Configurare regim %1"
IDS_CONFIG2 "Opțiuni avansate pentru %1"
IDS_SIZEBYTS "%i octeți"
IDS_SIZEMB "%i Mo"
IDS_NOACTION "nespecificată"
IDS_PowerActionNone1 "acțiune nespecificată"
IDS_PowerActionUnknown "acțiune necunoscută"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "Текст"
IDS_CONFIG1 "Параметры схемы %1"
IDS_CONFIG2 "Дополнительные параметры схемы %1"
IDS_SIZEBYTS "%i байт"
IDS_SIZEMB "%i МБ"
IDS_NOACTION "Не делать ничего"
IDS_PowerActionNone1 "Действие не требуется"
IDS_PowerActionUnknown "Нет данных"

View file

@ -118,8 +118,6 @@ BEGIN
IDS_TEXT "Text"
IDS_CONFIG1 "Nastavenie pre schému napájania %1"
IDS_CONFIG2 "Rozšírené nastavenie pre %1"
IDS_SIZEBYTS "%i bajtov"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Do nothing"
IDS_PowerActionNone1 "No action"
IDS_PowerActionUnknown "Neznáme"

View file

@ -115,8 +115,6 @@ BEGIN
IDS_TEXT "Teksti"
IDS_CONFIG1 "Konfigurimet për %1 skema energjise"
IDS_CONFIG2 "Konfigurimet Avancuara për %1"
IDS_SIZEBYTS "%i bytes"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Mos bëj gjë"
IDS_PowerActionNone1 "Asnjë veprim"
IDS_PowerActionUnknown "i panjohur"

View file

@ -110,8 +110,6 @@ BEGIN
IDS_TEXT "ข้อความ"
IDS_CONFIG1 "ตั้งค่าให้กับ %1 ค่าพลังงาน"
IDS_CONFIG2 "การตั้งค่าแบบขั้นสูงเป็น %1"
IDS_SIZEBYTS "%i bytes"
IDS_SIZEMB "%i MB"
IDS_NOACTION "ไม่เปลี่ยนค่า"
IDS_PowerActionNone1 "ไม่เปลี่ยนค่า"
IDS_PowerActionUnknown "ไม่ทราบ"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "Metin"
IDS_CONFIG1 "%1 Güç Düzeni İçin Ayarlar"
IDS_CONFIG2 "%1 İçin Gelişmiş Ayarlar"
IDS_SIZEBYTS "%i Çoklu"
IDS_SIZEMB "%i MB"
IDS_NOACTION "Bir Şey Yapma"
IDS_PowerActionNone1 "Eylem Yok"
IDS_PowerActionUnknown "Bilinmiyor"

View file

@ -118,8 +118,6 @@ BEGIN
IDS_TEXT "Текст"
IDS_CONFIG1 "Налаштування схеми живлення %1"
IDS_CONFIG2 "Додаткові налаштування для %1"
IDS_SIZEBYTS "%i байт"
IDS_SIZEMB "%i МБ"
IDS_NOACTION "Не робити нічого"
IDS_PowerActionNone1 "Дія не потрібна"
IDS_PowerActionUnknown "Немає даних"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "文本"
IDS_CONFIG1 "为 %i 设置电源使用方案"
IDS_CONFIG2 "%i 的高级设置"
IDS_SIZEBYTS "%i 字节"
IDS_SIZEMB "%i MB"
IDS_NOACTION "无操作"
IDS_PowerActionNone1 "无动作"
IDS_PowerActionUnknown "未知"

View file

@ -112,8 +112,6 @@ BEGIN
IDS_TEXT "文本"
IDS_CONFIG1 "爲 %i 設置電源使用方案"
IDS_CONFIG2 "%i 的高級設置"
IDS_SIZEBYTS "%i 字節"
IDS_SIZEMB "%i MB"
IDS_NOACTION "無操作"
IDS_PowerActionNone1 "無動作"
IDS_PowerActionUnknown "未知"

View file

@ -10,9 +10,11 @@
#define WIN32_NO_STATUS
#include <windef.h>
#include <winbase.h>
#include <winreg.h>
#include <cpl.h>
#include <tchar.h>
#include <shlobj.h>
#include <shlwapi.h>
#include <powrprof.h>
#include "resource.h"

View file

@ -9,15 +9,15 @@
#define ICONSIZE 16
/* IDs */
#define IDC_CPLICON_1 1
/* Set default to IDI_AC */
#define IDC_CPLICON_1 IDI_AC
#define IDS_PROCENT 49
#define IDS_SOUND 50
#define IDS_TEXT 51
#define IDS_CONFIG1 53
#define IDS_CONFIG2 54
#define IDS_SIZEBYTS 55
#define IDS_SIZEMB 56
#define IDD_PROPPAGEPOWERSHEMES 70
#define IDD_PROPPAGEALARMS 71