mirror of
https://github.com/reactos/reactos.git
synced 2025-04-22 13:10:39 +00:00
[MSGINA]
[SHELL32] * Implement shell shutdown using a proper shutdown dialog. Patch by Lee Schroeder with a small change to fix MSVC build. CORE-7559 #comment Commited into shell-experiments branch r64403. svn path=/branches/shell-experiments/; revision=64403
This commit is contained in:
parent
6aaa167a00
commit
257a0de098
24 changed files with 387 additions and 39 deletions
|
@ -9,6 +9,7 @@ list(APPEND SOURCE
|
|||
gui.c
|
||||
lsa.c
|
||||
msgina.c
|
||||
shutdown.c
|
||||
stubs.c
|
||||
tui.c
|
||||
msgina.h)
|
||||
|
@ -21,7 +22,7 @@ add_library(msgina SHARED
|
|||
|
||||
set_module_type(msgina win32dll)
|
||||
target_link_libraries(msgina wine)
|
||||
add_importlibs(msgina advapi32 user32 gdi32 userenv msvcrt kernel32 ntdll)
|
||||
add_importlibs(msgina advapi32 user32 gdi32 powrprof userenv msvcrt kernel32 ntdll)
|
||||
add_delay_importlibs(msgina secur32)
|
||||
add_pch(msgina msgina.h SOURCE)
|
||||
add_cd_file(TARGET msgina DESTINATION reactos/system32 FOR all)
|
||||
|
|
|
@ -137,6 +137,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Изключване на РеактОС"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Какво искате да направи компютъра?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "Добре", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Отказ", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "Помо&щ", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Здравейте!"
|
||||
|
|
|
@ -142,6 +142,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Vypnout ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&What do you want the computer to do?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Storno", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Nápověda", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Vítejte!"
|
||||
|
|
|
@ -137,6 +137,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "ReactOS herunterfahren"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Welcher Vorgang soll durchgeführt werden?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Hilfe", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Willkommen!"
|
||||
|
|
|
@ -137,6 +137,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Shut Down ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&What do you want the computer to do?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Help", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Welcome!"
|
||||
|
|
|
@ -139,6 +139,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Apagar ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "¿&Que quieres que haga el equipo?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "Aceptar", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Ayuda", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "¡Bienvenido!"
|
||||
|
|
|
@ -137,6 +137,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Fermer ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Que voulez-vous que l'ordinateur fasse ?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Aide", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Bienvenue!"
|
||||
|
|
|
@ -137,6 +137,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Shut Down ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&What do you want the computer to do?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Help", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "ברוכים הבאים!"
|
||||
|
|
|
@ -137,6 +137,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Shut Down ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&What do you want the computer to do?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Help", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Selamat datang!"
|
||||
|
|
|
@ -146,6 +146,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Spegnimento di ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Cosa volete che faccia ReactOS?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Annulla", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Aiuto", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Benvenuti!"
|
||||
|
|
|
@ -137,6 +137,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "ReactOSのシャットダウン"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&コンピュータの動作を選択してください", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "ヘルプ(&H)", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "ようこそ!"
|
||||
|
|
|
@ -137,6 +137,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Slå av ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Hva vil du at datamaskinen skal gjøre?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Avbryt", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Hjelp", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Velkommen!"
|
||||
|
|
|
@ -147,6 +147,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Zamknij ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Co chcesz, aby zrobił komputer?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Anuluj", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Pomoc", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Witaj!"
|
||||
|
|
|
@ -146,6 +146,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "Î&nchide", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Închidere ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Ce doriți să se întâmple?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "Con&firmă", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "A&nulează", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Manual…", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Bun venit!"
|
||||
|
|
|
@ -139,6 +139,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Завершение работы ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Выберите желаемое действие.", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Отмена", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Справка", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Добро пожаловать!"
|
||||
|
|
|
@ -142,6 +142,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Vypnutie systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Čo chcete aby počítač urobil?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Zrušiť", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Pomocník", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Vitajte!"
|
||||
|
|
|
@ -128,7 +128,7 @@ BEGIN
|
|||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 143, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14
|
||||
PUSHBUTTON "Anulo", IDCANCEL, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
|
||||
|
@ -140,6 +140,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Shut Down ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&What do you want the computer to do?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Anulo", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Ndihmë", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Mirëseerdhët!"
|
||||
|
|
|
@ -139,6 +139,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "Tamam", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Oturumu Kapat"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Bilgisayarınızın ne yapmasını istiyorsunuz?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "Tamam", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "İptal", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Yardım", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Hoşgeldiniz!"
|
||||
|
|
|
@ -145,6 +145,21 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
|
||||
END
|
||||
|
||||
IDD_SHUTDOWN_SHELL DIALOGEX 0, 0, 275, 146
|
||||
STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP
|
||||
CAPTION "Завершення роботи ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL IDI_ROSLOGO, IDC_ROSLOGO, "Static", SS_BITMAP, 0, 0, 275, 54
|
||||
ICON IDI_SHELL_SHUTDOWN, IDI_SHELL_SHUTDOWN, 9, 57, 21, 20, WS_GROUP
|
||||
LTEXT "&Виберіть одну з таких можливостей?", IDC_STATIC, 39, 57, 167, 10
|
||||
COMBOBOX IDC_SHUTDOWN_LIST, 39, 70, 165, 210, CBS_DROPDOWNLIST | WS_VSCROLL
|
||||
LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 187, 27
|
||||
DEFPUSHBUTTON "OK", IDOK, 80, 122, 55, 14, WS_GROUP
|
||||
PUSHBUTTON "Скасувати", IDCANCEL, 143, 122, 55, 14
|
||||
PUSHBUTTON "&Довідка", IDHELP, 204, 122, 55, 14
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LOGGEDOUTSAS "Ласкаво просимо!"
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#define IDD_LOCKED_DLG 104
|
||||
#define IDD_UNLOCK_DLG 105
|
||||
#define IDD_SHUTDOWN_DLG 108
|
||||
#define IDD_SHUTDOWN_SHELL 109
|
||||
|
||||
#define IDC_LOGOFF 1001
|
||||
#define IDC_USERNAME 1002
|
||||
|
|
|
@ -11,32 +11,6 @@
|
|||
|
||||
#include "msgina.h"
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD WINAPI
|
||||
ShellShutdownDialog(
|
||||
HWND hParent,
|
||||
LPWSTR lpUsername,
|
||||
BOOL bHideLogoff)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(hParent);
|
||||
UNREFERENCED_PARAMETER(lpUsername);
|
||||
UNREFERENCED_PARAMETER(bHideLogoff);
|
||||
|
||||
/* Return values:
|
||||
* 0x00: Cancelled/Help
|
||||
* 0x01: Log off user
|
||||
* 0x02: Shutdown
|
||||
* 0x04: Reboot
|
||||
* 0x10: Standby
|
||||
* 0x40: Hibernate
|
||||
*/
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
|
|
|
@ -98,6 +98,7 @@ add_importlibs(shell32
|
|||
browseui
|
||||
gdi32
|
||||
user32
|
||||
powrprof
|
||||
comctl32
|
||||
comdlg32
|
||||
shdocvw
|
||||
|
|
|
@ -116,6 +116,7 @@ INT_PTR CALLBACK PickIconProc(HWND hwndDlg,
|
|||
pIconContext = (PPICK_ICON_CONTEXT)lParam;
|
||||
SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG)pIconContext);
|
||||
pIconContext->hDlgCtrl = GetDlgItem(hwndDlg, IDC_PICKICON_LIST);
|
||||
SendMessageW(pIconContext->hDlgCtrl, LB_SETCOLUMNWIDTH, 32, 0);
|
||||
EnumResourceNamesW(pIconContext->hLibrary, RT_ICON, EnumPickIconResourceProc, (LPARAM)pIconContext);
|
||||
if (PathUnExpandEnvStringsW(pIconContext->szName, szText, MAX_PATH))
|
||||
SetDlgItemTextW(hwndDlg, IDC_EDIT_PATH, szText);
|
||||
|
@ -695,6 +696,44 @@ int WINAPI RestartDialog(HWND hWndOwner, LPCWSTR lpstrReason, DWORD uFlags)
|
|||
return RestartDialogEx(hWndOwner, lpstrReason, uFlags, 0);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* Used to get the shutdown privilege
|
||||
*/
|
||||
VOID ExitWindows_GetShutdownPrivilege(VOID)
|
||||
{
|
||||
HANDLE hToken;
|
||||
TOKEN_PRIVILEGES npr;
|
||||
|
||||
/* enable shut down privilege for current process */
|
||||
if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
|
||||
{
|
||||
LookupPrivilegeValueA(0, "SeShutdownPrivilege", &npr.Privileges[0].Luid);
|
||||
|
||||
npr.PrivilegeCount = 1;
|
||||
npr.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
|
||||
AdjustTokenPrivileges(hToken, FALSE, &npr, 0, 0, 0);
|
||||
|
||||
CloseHandle(hToken);
|
||||
}
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* ExitWindowsDialog_backup
|
||||
*
|
||||
* NOTES
|
||||
* used as a backup solution to shutdown the OS in case msgina.dll somehow
|
||||
* cannot be found.
|
||||
*/
|
||||
VOID ExitWindowsDialog_backup(HWND hWndOwner)
|
||||
{
|
||||
TRACE("(%p)\n", hWndOwner);
|
||||
|
||||
if (ConfirmDialog(hWndOwner, IDS_SHUTDOWN_PROMPT, IDS_SHUTDOWN_TITLE))
|
||||
{
|
||||
ExitWindows_GetShutdownPrivilege();
|
||||
ExitWindowsEx(EWX_SHUTDOWN, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* ExitWindowsDialog [SHELL32.60]
|
||||
|
@ -702,24 +741,85 @@ int WINAPI RestartDialog(HWND hWndOwner, LPCWSTR lpstrReason, DWORD uFlags)
|
|||
* NOTES
|
||||
* exported by ordinal
|
||||
*/
|
||||
/*
|
||||
* TODO:
|
||||
* - Implement the ability to show either the Welcome Screen or the classic dialog boxes based upon the
|
||||
* registry value: SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\LogonType.
|
||||
*/
|
||||
void WINAPI ExitWindowsDialog(HWND hWndOwner)
|
||||
{
|
||||
typedef DWORD (WINAPI *ShellShFunc)(HWND hParent, WCHAR *Username, BOOL bHideLogoff);
|
||||
HINSTANCE msginaDll = LoadLibraryA("msgina.dll");
|
||||
|
||||
TRACE("(%p)\n", hWndOwner);
|
||||
|
||||
if (ConfirmDialog(hWndOwner, IDS_SHUTDOWN_PROMPT, IDS_SHUTDOWN_TITLE))
|
||||
/* If the DLL cannot be found for any reason, then it simply uses a
|
||||
dialog box to ask if the user wants to shut down the computer. */
|
||||
if(!msginaDll)
|
||||
{
|
||||
HANDLE hToken;
|
||||
TOKEN_PRIVILEGES npr;
|
||||
TRACE("Unable to load msgina.dll.\n");
|
||||
ExitWindowsDialog_backup(hWndOwner);
|
||||
return;
|
||||
}
|
||||
|
||||
/* enable shutdown privilege for current process */
|
||||
if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
|
||||
ShellShFunc pShellShutdownDialog = (ShellShFunc) GetProcAddress(msginaDll, "ShellShutdownDialog");
|
||||
|
||||
if(pShellShutdownDialog)
|
||||
{
|
||||
/* Actually call the function */
|
||||
DWORD returnValue = pShellShutdownDialog(hWndOwner, NULL, FALSE);
|
||||
|
||||
switch(returnValue)
|
||||
{
|
||||
LookupPrivilegeValueA(0, "SeShutdownPrivilege", &npr.Privileges[0].Luid);
|
||||
npr.PrivilegeCount = 1;
|
||||
npr.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
|
||||
AdjustTokenPrivileges(hToken, FALSE, &npr, 0, 0, 0);
|
||||
CloseHandle(hToken);
|
||||
case 0x01: /* Log off user */
|
||||
{
|
||||
ExitWindowsEx(EWX_LOGOFF, 0);
|
||||
break;
|
||||
}
|
||||
ExitWindowsEx(EWX_SHUTDOWN, 0);
|
||||
case 0x02: /* Shut down */
|
||||
{
|
||||
ExitWindows_GetShutdownPrivilege();
|
||||
ExitWindowsEx(EWX_SHUTDOWN, 0);
|
||||
break;
|
||||
}
|
||||
case 0x03: /* Install Updates/Shutdown (?) */
|
||||
{
|
||||
break;
|
||||
}
|
||||
case 0x04: /* Reboot */
|
||||
{
|
||||
ExitWindows_GetShutdownPrivilege();
|
||||
ExitWindowsEx(EWX_REBOOT, 0);
|
||||
break;
|
||||
}
|
||||
case 0x10: /* Sleep */
|
||||
{
|
||||
if(IsPwrSuspendAllowed())
|
||||
{
|
||||
ExitWindows_GetShutdownPrivilege();
|
||||
SetSuspendState(FALSE, FALSE, FALSE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 0x40: /* Hibernate */
|
||||
{
|
||||
if(IsPwrHibernateAllowed())
|
||||
{
|
||||
ExitWindows_GetShutdownPrivilege();
|
||||
SetSuspendState(TRUE, FALSE, TRUE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
/* If the option is any other value */
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If the function cannot be found, then revert to using the backup solution */
|
||||
TRACE("Unable to find the 'ShellShutdownDialog' function");
|
||||
FreeLibrary(msginaDll);
|
||||
ExitWindowsDialog_backup(hWndOwner);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include <strsafe.h>
|
||||
#include <atlbase.h>
|
||||
#include <atlcom.h>
|
||||
#include <powrprof.h>
|
||||
|
||||
//#include "base/shell/explorer-new/todo.h"
|
||||
//#include "dlgs.h"
|
||||
|
|
Loading…
Reference in a new issue