diff --git a/reactos/base/applications/taskmgr/CMakeLists.txt b/reactos/base/applications/taskmgr/CMakeLists.txt index f028b0a2ae6..307beb06590 100644 --- a/reactos/base/applications/taskmgr/CMakeLists.txt +++ b/reactos/base/applications/taskmgr/CMakeLists.txt @@ -18,6 +18,7 @@ list(APPEND SOURCE trayicon.c taskmgr.c graphctl.c + shutdown.c precomp.h) add_executable(taskmgr ${SOURCE} taskmgr.rc) diff --git a/reactos/base/applications/taskmgr/applpage.c b/reactos/base/applications/taskmgr/applpage.c index eff4d253956..ae1927725e3 100644 --- a/reactos/base/applications/taskmgr/applpage.c +++ b/reactos/base/applications/taskmgr/applpage.c @@ -554,11 +554,11 @@ void ApplicationPageOnNotify(WPARAM wParam, LPARAM lParam) { if (pAPLI->bHung) { - LoadStringW( GetModuleHandleW(NULL), IDS_Not_Responding , szMsg, sizeof(szMsg) / sizeof(szMsg[0])); + LoadStringW( GetModuleHandleW(NULL), IDS_NOT_RESPONDING , szMsg, sizeof(szMsg) / sizeof(szMsg[0])); } else { - LoadStringW( GetModuleHandleW(NULL), IDS_Running, (LPWSTR) szMsg, sizeof(szMsg) / sizeof(szMsg[0])); + LoadStringW( GetModuleHandleW(NULL), IDS_RUNNING, (LPWSTR) szMsg, sizeof(szMsg) / sizeof(szMsg[0])); } wcsncpy(pnmdi->item.pszText, szMsg, pnmdi->item.cchTextMax); } diff --git a/reactos/base/applications/taskmgr/lang/bg-BG.rc b/reactos/base/applications/taskmgr/lang/bg-BG.rc index 236cebee756..ccea8a0b4d6 100644 --- a/reactos/base/applications/taskmgr/lang/bg-BG.rc +++ b/reactos/base/applications/taskmgr/lang/bg-BG.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "На&дипляне", ID_WINDOWS_CASCADE MENUITEM "Изваждане &отпред ", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "Помо&щ" BEGIN MENUITEM "Съдържание на помо&щта за задачния управител", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Заета памет: %dK / %dK" IDS_STATUS_CPUUSAGE "Заетост на ЦПУ: %3d%%" IDS_STATUS_PROCESSES "Действия: %d" - IDS_Not_Responding "Не отговаря" - IDS_Running "Работи" + IDS_NOT_RESPONDING "Не отговаря" + IDS_RUNNING "Работи" END diff --git a/reactos/base/applications/taskmgr/lang/cs-CZ.rc b/reactos/base/applications/taskmgr/lang/cs-CZ.rc index bf483bce679..d1ed3a41d15 100644 --- a/reactos/base/applications/taskmgr/lang/cs-CZ.rc +++ b/reactos/base/applications/taskmgr/lang/cs-CZ.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "&Kaskáda", ID_WINDOWS_CASCADE MENUITEM "&Přenést do popředí", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Nápověda" BEGIN MENUITEM "&Nápověda pro správce úloh", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Využití paměti: %dK / %dK" IDS_STATUS_CPUUSAGE "Využití CPU: %3d%%" IDS_STATUS_PROCESSES "Procesy: %d" - IDS_Not_Responding "Neodpovídá" - IDS_Running "Běží" + IDS_NOT_RESPONDING "Neodpovídá" + IDS_RUNNING "Běží" END diff --git a/reactos/base/applications/taskmgr/lang/da-DK.rc b/reactos/base/applications/taskmgr/lang/da-DK.rc index b10b2efc552..5cb5f7c8b50 100644 --- a/reactos/base/applications/taskmgr/lang/da-DK.rc +++ b/reactos/base/applications/taskmgr/lang/da-DK.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "&Cascade", ID_WINDOWS_CASCADE MENUITEM "&Bring til front", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Hjælp" BEGIN MENUITEM "Opgavestyring &Hjælpe Emner", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Mem Usage: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU Usage: %3d%%" IDS_STATUS_PROCESSES "Processes: %d" - IDS_Not_Responding "Not Responding" - IDS_Running "Running" + IDS_NOT_RESPONDING "Not Responding" + IDS_RUNNING "Running" END diff --git a/reactos/base/applications/taskmgr/lang/de-DE.rc b/reactos/base/applications/taskmgr/lang/de-DE.rc index 448e4720179..029f00acdcf 100644 --- a/reactos/base/applications/taskmgr/lang/de-DE.rc +++ b/reactos/base/applications/taskmgr/lang/de-DE.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "Übe&rlappend", ID_WINDOWS_CASCADE MENUITEM "&In Vordergrund", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&?" BEGIN MENUITEM "&Hilfethemen", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "zugesicherter Speicher: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU-Auslastung: %3d%%" IDS_STATUS_PROCESSES "Prozesse: %d" - IDS_Not_Responding "Keine Rückmeldung" - IDS_Running "Wird ausgeführt" + IDS_NOT_RESPONDING "Keine Rückmeldung" + IDS_RUNNING "Wird ausgeführt" END diff --git a/reactos/base/applications/taskmgr/lang/el-GR.rc b/reactos/base/applications/taskmgr/lang/el-GR.rc index c145bd1e432..932812ede10 100644 --- a/reactos/base/applications/taskmgr/lang/el-GR.rc +++ b/reactos/base/applications/taskmgr/lang/el-GR.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "&Cascade", ID_WINDOWS_CASCADE MENUITEM "&Bring To Front", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Βοήθεια" BEGIN MENUITEM "Θέματα &Βοήθειας του Διαχειριστή Διεργασιών", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Mem Usage: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU Usage: %3d%%" IDS_STATUS_PROCESSES "Processes: %d" - IDS_Not_Responding "Not Responding" - IDS_Running "Running" + IDS_NOT_RESPONDING "Not Responding" + IDS_RUNNING "Running" END diff --git a/reactos/base/applications/taskmgr/lang/en-US.rc b/reactos/base/applications/taskmgr/lang/en-US.rc index 0eb7ff3fb74..64719121649 100644 --- a/reactos/base/applications/taskmgr/lang/en-US.rc +++ b/reactos/base/applications/taskmgr/lang/en-US.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "&Cascade", ID_WINDOWS_CASCADE MENUITEM "&Bring To Front", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Help" BEGIN MENUITEM "Task Manager &Help Topics", ID_HELP_TOPICS @@ -422,6 +433,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Mem Usage: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU Usage: %3d%%" IDS_STATUS_PROCESSES "Processes: %d" - IDS_Not_Responding "Not Responding" - IDS_Running "Running" + IDS_NOT_RESPONDING "Not Responding" + IDS_RUNNING "Running" END diff --git a/reactos/base/applications/taskmgr/lang/es-ES.rc b/reactos/base/applications/taskmgr/lang/es-ES.rc index 4d20d945b0f..97b5f2c2154 100644 --- a/reactos/base/applications/taskmgr/lang/es-ES.rc +++ b/reactos/base/applications/taskmgr/lang/es-ES.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "&Cascada", ID_WINDOWS_CASCADE MENUITEM "&Traer al Frente", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "A&yuda" BEGIN MENUITEM "&Temas de Ayuda del Administrador de Tareas", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Uso Memoria: %dK / %dK" IDS_STATUS_CPUUSAGE "Uso CPU: %3d%%" IDS_STATUS_PROCESSES "Procesos: %d" - IDS_Not_Responding "No Responde" - IDS_Running "Funcionando" + IDS_NOT_RESPONDING "No Responde" + IDS_RUNNING "Funcionando" END diff --git a/reactos/base/applications/taskmgr/lang/fr-FR.rc b/reactos/base/applications/taskmgr/lang/fr-FR.rc index f1d582cb4e0..6ecef407f60 100644 --- a/reactos/base/applications/taskmgr/lang/fr-FR.rc +++ b/reactos/base/applications/taskmgr/lang/fr-FR.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "&Cascade", ID_WINDOWS_CASCADE MENUITEM "Mettre au &premier plan", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Aide" BEGIN MENUITEM "&Rubriques d'aide du Gestionnaire des tâches", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Fichier d'échange utilisé : %dK / %dK" IDS_STATUS_CPUUSAGE "UC utilisée : %3d%%" IDS_STATUS_PROCESSES "Processus : %d" - IDS_Not_Responding "Ne répond pas" - IDS_Running "En cours d'exécution" + IDS_NOT_RESPONDING "Ne répond pas" + IDS_RUNNING "En cours d'exécution" END diff --git a/reactos/base/applications/taskmgr/lang/he-IL.rc b/reactos/base/applications/taskmgr/lang/he-IL.rc index 27e3febd619..f854f244ab6 100644 --- a/reactos/base/applications/taskmgr/lang/he-IL.rc +++ b/reactos/base/applications/taskmgr/lang/he-IL.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "מדורג", ID_WINDOWS_CASCADE MENUITEM "ה&בא לפנים", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&עזרה" BEGIN MENUITEM "&נושאי עזרה של מנהל המשימות", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Mem Usage: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU Usage: %3d%%" IDS_STATUS_PROCESSES "Processes: %d" - IDS_Not_Responding "Not Responding" - IDS_Running "Running" + IDS_NOT_RESPONDING "Not Responding" + IDS_RUNNING "Running" END diff --git a/reactos/base/applications/taskmgr/lang/hu-HU.rc b/reactos/base/applications/taskmgr/lang/hu-HU.rc index a59a07e2fef..bb759d1c676 100644 --- a/reactos/base/applications/taskmgr/lang/hu-HU.rc +++ b/reactos/base/applications/taskmgr/lang/hu-HU.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "&Lépcsõzetes rendezés", ID_WINDOWS_CASCADE MENUITEM "&Elõtérbe helyezés", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Súgó" BEGIN MENUITEM "&Témakörök", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Mem használat: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU használat: %3d%%" IDS_STATUS_PROCESSES "Folyamatok: %d" - IDS_Not_Responding "Nem válaszol" - IDS_Running "Fut" + IDS_NOT_RESPONDING "Nem válaszol" + IDS_RUNNING "Fut" END diff --git a/reactos/base/applications/taskmgr/lang/id-ID.rc b/reactos/base/applications/taskmgr/lang/id-ID.rc index f362405c815..305bc2b8d70 100644 --- a/reactos/base/applications/taskmgr/lang/id-ID.rc +++ b/reactos/base/applications/taskmgr/lang/id-ID.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "&Cascade", ID_WINDOWS_CASCADE MENUITEM "&Bring To Front", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Help" BEGIN MENUITEM "Task Manager &Help Topics", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Pemakaian Mem: %dK / %dK" IDS_STATUS_CPUUSAGE "Pemakaian CPU: %3d%%" IDS_STATUS_PROCESSES "Proses: %d" - IDS_Not_Responding "Tidak Merespon" - IDS_Running "Berjalan" + IDS_NOT_RESPONDING "Tidak Merespon" + IDS_RUNNING "Berjalan" END diff --git a/reactos/base/applications/taskmgr/lang/it-IT.rc b/reactos/base/applications/taskmgr/lang/it-IT.rc index 54d0334c381..90ec0928eda 100644 --- a/reactos/base/applications/taskmgr/lang/it-IT.rc +++ b/reactos/base/applications/taskmgr/lang/it-IT.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "&Sovrapponi", ID_WINDOWS_CASCADE MENUITEM "&Porta in primo piano", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Aiuto" BEGIN MENUITEM "Task Manager &Help Topics", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Uso Mem: %dK / %dK" IDS_STATUS_CPUUSAGE "Uso CPU: %3d%%" IDS_STATUS_PROCESSES "Processi: %d" - IDS_Not_Responding "Non risponde" - IDS_Running "In esecuzione" + IDS_NOT_RESPONDING "Non risponde" + IDS_RUNNING "In esecuzione" END diff --git a/reactos/base/applications/taskmgr/lang/ja-JP.rc b/reactos/base/applications/taskmgr/lang/ja-JP.rc index 9e6bc38d9e1..4d950cc4477 100644 --- a/reactos/base/applications/taskmgr/lang/ja-JP.rc +++ b/reactos/base/applications/taskmgr/lang/ja-JP.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "重ねて表示(&C)", ID_WINDOWS_CASCADE MENUITEM "手前に表示(&B)", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "ヘルプ(&H)" BEGIN MENUITEM "トピックの検索(&H)", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "メモリ使用量: %dKB / %dKB" IDS_STATUS_CPUUSAGE "CPU 使用率: %3d%%" IDS_STATUS_PROCESSES "プロセス: %d" - IDS_Not_Responding "応答なし" - IDS_Running "実行中" + IDS_NOT_RESPONDING "応答なし" + IDS_RUNNING "実行中" END diff --git a/reactos/base/applications/taskmgr/lang/ko-KR.rc b/reactos/base/applications/taskmgr/lang/ko-KR.rc index a6a68bd6fc0..3d543c831fc 100644 --- a/reactos/base/applications/taskmgr/lang/ko-KR.rc +++ b/reactos/base/applications/taskmgr/lang/ko-KR.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "계단식 창 배열(&C)", ID_WINDOWS_CASCADE MENUITEM "맨 앞으로 가져오기(&B)", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "도움말(&H)" BEGIN MENUITEM "작업 관리자 도움말 항목(&H)", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "메모리 사용: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU 사용: %3d%%" IDS_STATUS_PROCESSES "프로세스: %d" - IDS_Not_Responding "응답 없음" - IDS_Running "실행 중" + IDS_NOT_RESPONDING "응답 없음" + IDS_RUNNING "실행 중" END diff --git a/reactos/base/applications/taskmgr/lang/nl-NL.rc b/reactos/base/applications/taskmgr/lang/nl-NL.rc index 186190af194..2445eede8c0 100644 --- a/reactos/base/applications/taskmgr/lang/nl-NL.rc +++ b/reactos/base/applications/taskmgr/lang/nl-NL.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "&Trapsgewijs", ID_WINDOWS_CASCADE MENUITEM "Naar &voorgrond", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Help" BEGIN MENUITEM "&Help-onderwerpen", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Geheugengebruik: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU-gebruik: %3d%%" IDS_STATUS_PROCESSES "Processen: %d" - IDS_Not_Responding "Reageert niet" - IDS_Running "Geactiveerd" + IDS_NOT_RESPONDING "Reageert niet" + IDS_RUNNING "Geactiveerd" END diff --git a/reactos/base/applications/taskmgr/lang/no-NO.rc b/reactos/base/applications/taskmgr/lang/no-NO.rc index 4be336c8e40..996859d8cfa 100644 --- a/reactos/base/applications/taskmgr/lang/no-NO.rc +++ b/reactos/base/applications/taskmgr/lang/no-NO.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "&Overlappet", ID_WINDOWS_CASCADE MENUITEM "&Plasser lengst frem", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Hjelp" BEGIN MENUITEM "Emner i &hjelp for Oppgavebehandling", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Tildelt minne: %dK / %dK" IDS_STATUS_CPUUSAGE "Prosessorbruk: %3d%%" IDS_STATUS_PROCESSES "Prosesser: %d" - IDS_Not_Responding "Ingen reaksjon" - IDS_Running "Kjører" + IDS_NOT_RESPONDING "Ingen reaksjon" + IDS_RUNNING "Kjører" END diff --git a/reactos/base/applications/taskmgr/lang/pl-PL.rc b/reactos/base/applications/taskmgr/lang/pl-PL.rc index e1e4c575110..45bf619404e 100644 --- a/reactos/base/applications/taskmgr/lang/pl-PL.rc +++ b/reactos/base/applications/taskmgr/lang/pl-PL.rc @@ -53,6 +53,17 @@ BEGIN MENUITEM "&Kaskadowo", ID_WINDOWS_CASCADE MENUITEM "&Przesuń na wierzch", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "Pomo&c" BEGIN MENUITEM "Menedżer zadań - tematy &pomocy", ID_HELP_TOPICS @@ -431,6 +442,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Pam. zadeklar.: %dK / %dK" IDS_STATUS_CPUUSAGE "Użycie procesora: %3d%%" IDS_STATUS_PROCESSES "Procesy: %d" - IDS_Not_Responding "Nie odpowiada" - IDS_Running "Uruchomiony" + IDS_NOT_RESPONDING "Nie odpowiada" + IDS_RUNNING "Uruchomiony" END diff --git a/reactos/base/applications/taskmgr/lang/pt-BR.rc b/reactos/base/applications/taskmgr/lang/pt-BR.rc index 34a19807d1e..947be652130 100644 --- a/reactos/base/applications/taskmgr/lang/pt-BR.rc +++ b/reactos/base/applications/taskmgr/lang/pt-BR.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "Em &cascata", ID_WINDOWS_CASCADE MENUITEM "&Trazer para a frente", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "Aj&uda" BEGIN MENUITEM "&Tópicos da Ajuda do Gerenciador de tarefas", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Uso de Memória: %dK / %dK" IDS_STATUS_CPUUSAGE "Uso de CPU: %3d%%" IDS_STATUS_PROCESSES "Processo: %d" - IDS_Not_Responding "Não respondendo" - IDS_Running "Execuando" + IDS_NOT_RESPONDING "Não respondendo" + IDS_RUNNING "Execuando" END diff --git a/reactos/base/applications/taskmgr/lang/ro-RO.rc b/reactos/base/applications/taskmgr/lang/ro-RO.rc index 91c7de10491..b00f2ae3040 100644 --- a/reactos/base/applications/taskmgr/lang/ro-RO.rc +++ b/reactos/base/applications/taskmgr/lang/ro-RO.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "Aranjări în casca&dă", ID_WINDOWS_CASCADE MENUITEM "&Aduce în prim plan", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&?" BEGIN MENUITEM "&Manual…", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Utilizare memorie: %dko/%dko" IDS_STATUS_CPUUSAGE "Utilizare procesor: %3d%%" IDS_STATUS_PROCESSES "Procese: %d" - IDS_Not_Responding "EXECUȚIE ANORMALĂ" - IDS_Running "execuție normală" + IDS_NOT_RESPONDING "EXECUȚIE ANORMALĂ" + IDS_RUNNING "execuție normală" END diff --git a/reactos/base/applications/taskmgr/lang/ru-RU.rc b/reactos/base/applications/taskmgr/lang/ru-RU.rc index 476189cf438..7759d34dfc7 100644 --- a/reactos/base/applications/taskmgr/lang/ru-RU.rc +++ b/reactos/base/applications/taskmgr/lang/ru-RU.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "&Каскадом", ID_WINDOWS_CASCADE MENUITEM "&На передний план", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Справка" BEGIN MENUITEM "&Вызов справки", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Выделение памяти: %dK / %dK" IDS_STATUS_CPUUSAGE "Загрузка ЦП: %3d%%" IDS_STATUS_PROCESSES "Процессов: %d" - IDS_Not_Responding "Не отвечает" - IDS_Running "Работает" + IDS_NOT_RESPONDING "Не отвечает" + IDS_RUNNING "Работает" END diff --git a/reactos/base/applications/taskmgr/lang/sk-SK.rc b/reactos/base/applications/taskmgr/lang/sk-SK.rc index 8eb70d88af6..b673fe8ece3 100644 --- a/reactos/base/applications/taskmgr/lang/sk-SK.rc +++ b/reactos/base/applications/taskmgr/lang/sk-SK.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "&Kaskáda", ID_WINDOWS_CASCADE MENUITEM "Presunúť dopred&u", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Pomocník" BEGIN MENUITEM "Témy &Pomocníka pre Správcu úloh", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Využitá pamäť: %dK / %dK" IDS_STATUS_CPUUSAGE "Využitie procesora: %3d%%" IDS_STATUS_PROCESSES "Procesy: %d" - IDS_Not_Responding "Neodpovedá" - IDS_Running "Spustené" + IDS_NOT_RESPONDING "Neodpovedá" + IDS_RUNNING "Spustené" END diff --git a/reactos/base/applications/taskmgr/lang/sq-AL.rc b/reactos/base/applications/taskmgr/lang/sq-AL.rc index 7a6e9e626ed..d3af90676a9 100644 --- a/reactos/base/applications/taskmgr/lang/sq-AL.rc +++ b/reactos/base/applications/taskmgr/lang/sq-AL.rc @@ -50,6 +50,17 @@ BEGIN MENUITEM "Ujevare", ID_WINDOWS_CASCADE MENUITEM "Sjelle para", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "Ndihme" BEGIN MENUITEM "Task Manager &Ndihme me teme", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Perdorimi i Mem: %dK / %dK" IDS_STATUS_CPUUSAGE "Perdorimi i CPU: %3d%%" IDS_STATUS_PROCESSES "Proceset: %d" - IDS_Not_Responding "Nuk pergjigjet" - IDS_Running "Ne pune" + IDS_NOT_RESPONDING "Nuk pergjigjet" + IDS_RUNNING "Ne pune" END diff --git a/reactos/base/applications/taskmgr/lang/sv-SE.rc b/reactos/base/applications/taskmgr/lang/sv-SE.rc index 37e4817a0be..2b27ba53dc7 100644 --- a/reactos/base/applications/taskmgr/lang/sv-SE.rc +++ b/reactos/base/applications/taskmgr/lang/sv-SE.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "&Överlappande", ID_WINDOWS_CASCADE MENUITEM "&För till förgrunden", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Hjälp" BEGIN MENUITEM "Aktivitetshanteraren &hjälpavsnitt", ID_HELP_TOPICS @@ -426,6 +437,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Minnesanv: %dK / %dK" IDS_STATUS_CPUUSAGE "Processoranv: %3d%%" IDS_STATUS_PROCESSES "Processer: %d" - IDS_Not_Responding "Svarar inte" - IDS_Running "Igång" + IDS_NOT_RESPONDING "Svarar inte" + IDS_RUNNING "Igång" END diff --git a/reactos/base/applications/taskmgr/lang/tr-TR.rc b/reactos/base/applications/taskmgr/lang/tr-TR.rc index e83d6990362..a13c9b580ba 100644 --- a/reactos/base/applications/taskmgr/lang/tr-TR.rc +++ b/reactos/base/applications/taskmgr/lang/tr-TR.rc @@ -48,6 +48,17 @@ BEGIN MENUITEM "B&asamaklandır", ID_WINDOWS_CASCADE MENUITEM "&Öne Getir", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Yardım" BEGIN MENUITEM "&Yardım Konuları", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Bellek Kullanımı: %d KB / %d KB" IDS_STATUS_CPUUSAGE "CPU Kullanımı: %%%3d" IDS_STATUS_PROCESSES "İşlem: %d" - IDS_Not_Responding "Yanıt Vermiyor" - IDS_Running "Çalışıyor" + IDS_NOT_RESPONDING "Yanıt Vermiyor" + IDS_RUNNING "Çalışıyor" END diff --git a/reactos/base/applications/taskmgr/lang/uk-UA.rc b/reactos/base/applications/taskmgr/lang/uk-UA.rc index b481729cac1..8bf05caaed4 100644 --- a/reactos/base/applications/taskmgr/lang/uk-UA.rc +++ b/reactos/base/applications/taskmgr/lang/uk-UA.rc @@ -46,6 +46,17 @@ BEGIN MENUITEM "&Каскадом", ID_WINDOWS_CASCADE MENUITEM "На передні&й план", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "&Довідка" BEGIN MENUITEM "&Зміст", ID_HELP_TOPICS @@ -424,6 +435,6 @@ BEGIN IDS_STATUS_MEMUSAGE "Пам'ять: %dK / %dK" IDS_STATUS_CPUUSAGE "Використання ЦП: %3d%%" IDS_STATUS_PROCESSES "Процесів: %d" - IDS_Not_Responding "Не відповідає" - IDS_Running "Виконується" + IDS_NOT_RESPONDING "Не відповідає" + IDS_RUNNING "Виконується" END diff --git a/reactos/base/applications/taskmgr/lang/zh-CN.rc b/reactos/base/applications/taskmgr/lang/zh-CN.rc index 09e078c0d7b..a65c76d84ed 100644 --- a/reactos/base/applications/taskmgr/lang/zh-CN.rc +++ b/reactos/base/applications/taskmgr/lang/zh-CN.rc @@ -52,6 +52,17 @@ BEGIN MENUITEM "层叠(&C)", ID_WINDOWS_CASCADE MENUITEM "前置(&B)", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "帮助(&H)" BEGIN MENUITEM "任务管理器帮助主题(&H)", ID_HELP_TOPICS @@ -430,6 +441,6 @@ BEGIN IDS_STATUS_MEMUSAGE "内存使用情况: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU 使用情况: %3d%%" IDS_STATUS_PROCESSES "處理程序: %d" - IDS_Not_Responding "没有回应" - IDS_Running "正在运行" + IDS_NOT_RESPONDING "没有回应" + IDS_RUNNING "正在运行" END diff --git a/reactos/base/applications/taskmgr/lang/zh-TW.rc b/reactos/base/applications/taskmgr/lang/zh-TW.rc index c1a62309343..763f2c1c77e 100644 --- a/reactos/base/applications/taskmgr/lang/zh-TW.rc +++ b/reactos/base/applications/taskmgr/lang/zh-TW.rc @@ -54,6 +54,17 @@ BEGIN MENUITEM "層疊(&C)", ID_WINDOWS_CASCADE MENUITEM "前置(&B)", ID_WINDOWS_BRINGTOFRONT END + POPUP "Sh&ut Down" + BEGIN + MENUITEM "Stand &By", ID_POWER_SAVING + MENUITEM "&Hibernate", ID_HIBERNATION + MENUITEM "T&urn Off", ID_SHUTDOWN + MENUITEM "&Restart", ID_RESTART + MENUITEM "&Log Off %s", ID_LOGOFF_USER + MENUITEM "&Switch user\tWinKey+L", ID_SWITCH_USER, GRAYED + MENUITEM "&Disconnect", ID_DISCONNECT, GRAYED + MENUITEM "&Eject Computer", ID_EJECT_COMPUTER, GRAYED + END POPUP "說明(&H)" BEGIN MENUITEM "工作管理員說明主题(&H)", ID_HELP_TOPICS @@ -432,6 +443,6 @@ BEGIN IDS_STATUS_MEMUSAGE "記憶體使用情況: %dK / %dK" IDS_STATUS_CPUUSAGE "CPU 使用情況: %3d%%" IDS_STATUS_PROCESSES "處理程序: %d" - IDS_Not_Responding "沒有回應" - IDS_Running "正在運行" + IDS_NOT_RESPONDING "沒有回應" + IDS_RUNNING "正在運行" END diff --git a/reactos/base/applications/taskmgr/precomp.h b/reactos/base/applications/taskmgr/precomp.h index d99e58fc2b8..e70ffa3fd36 100644 --- a/reactos/base/applications/taskmgr/precomp.h +++ b/reactos/base/applications/taskmgr/precomp.h @@ -30,5 +30,6 @@ #include "optnmenu.h" #include "run.h" #include "trayicon.h" +#include "shutdown.h" #endif /* __PRECOMP_H */ diff --git a/reactos/base/applications/taskmgr/resource.h b/reactos/base/applications/taskmgr/resource.h index a4517130d8d..8c36e6eb79e 100644 --- a/reactos/base/applications/taskmgr/resource.h +++ b/reactos/base/applications/taskmgr/resource.h @@ -180,6 +180,15 @@ #define ID_PROCESS_PAGE_SETPRIORITY_LOW 32814 #define ID_PROCESS_PAGE_DEBUGCHANNELS 32815 +#define ID_POWER_SAVING 32816 +#define ID_HIBERNATION 32817 +#define ID_SHUTDOWN 32818 +#define ID_RESTART 32819 +#define ID_LOGOFF_USER 32820 +#define ID_SWITCH_USER 32821 +#define ID_DISCONNECT 32822 +#define ID_EJECT_COMPUTER 32823 + #define IDC_STATIC -1 #define IDS_TAB_APPS 310 @@ -241,5 +250,5 @@ #define IDS_STATUS_MEMUSAGE 363 #define IDS_STATUS_CPUUSAGE 364 #define IDS_STATUS_PROCESSES 365 -#define IDS_Not_Responding 366 -#define IDS_Running 367 +#define IDS_NOT_RESPONDING 366 +#define IDS_RUNNING 367 diff --git a/reactos/base/applications/taskmgr/shutdown.c b/reactos/base/applications/taskmgr/shutdown.c new file mode 100644 index 00000000000..10eba267648 --- /dev/null +++ b/reactos/base/applications/taskmgr/shutdown.c @@ -0,0 +1,155 @@ +/* + * ReactOS Task Manager + * + * shutdown.c + * + * Copyright (C) 1999 - 2001 Brian Palmer + * 2011 Mrio Kacmr /Mario Kacmar/ aka Kario (kario@szm.sk) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "precomp.h" +#include +#include + +// Uncomment when NtInitiatePowerAction() is implemented +// #define NT_INITIATE_POWERACTION_IMPLEMENTED + +static BOOL +EnablePrivilege(LPCWSTR lpszPrivilegeName, BOOL bEnablePrivilege) +{ + BOOL Success; + HANDLE hToken; + + Success = OpenProcessToken(GetCurrentProcess(), + TOKEN_ADJUST_PRIVILEGES, + &hToken); + if (Success) + { + TOKEN_PRIVILEGES tp; + + tp.PrivilegeCount = 1; + tp.Privileges[0].Attributes = (bEnablePrivilege ? SE_PRIVILEGE_ENABLED : 0); + + Success = LookupPrivilegeValueW(NULL, + lpszPrivilegeName, + &tp.Privileges[0].Luid); + if (Success) + { + Success = AdjustTokenPrivileges(hToken, FALSE, &tp, 0, NULL, NULL); + } + + CloseHandle(hToken); + } + + return Success; +} + +VOID +ShutDown_PowerSaving(VOID) // StandBy +{ + EnablePrivilege(SE_SHUTDOWN_NAME, TRUE); + +#ifdef NT_INITIATE_POWERACTION_IMPLEMENTED + NtInitiatePowerAction(PowerActionSleep, + PowerSystemSleeping1, + 0, FALSE); +#else + NtSetSystemPowerState(PowerActionSleep, + PowerSystemSleeping1, + 0); +#endif + + EnablePrivilege(SE_SHUTDOWN_NAME, FALSE); +} + +VOID +ShutDown_Hibernation(VOID) +{ + EnablePrivilege(SE_SHUTDOWN_NAME, TRUE); + +#ifdef NT_INITIATE_POWERACTION_IMPLEMENTED + NtInitiatePowerAction(PowerActionHibernate, + PowerSystemHibernate, + 0, FALSE); +#else + NtSetSystemPowerState(PowerActionHibernate, + PowerSystemHibernate, + 0); +#endif + + EnablePrivilege(SE_SHUTDOWN_NAME, FALSE); +} + +VOID +ShutDown_PowerOff(VOID) +{ + /* Trick: on Windows, pressing the CTRL key forces shutdown via NT API */ + BOOL ForceShutdown = !!(GetKeyState(VK_CONTROL) & 0x8000); + + EnablePrivilege(SE_SHUTDOWN_NAME, TRUE); + if (ForceShutdown) + { + NtShutdownSystem(ShutdownPowerOff); + } + else + { + // The choice of EWX_SHUTDOWN or EWX_POWEROFF may be done with NtPowerInformation + ExitWindowsEx(EWX_POWEROFF, // EWX_SHUTDOWN + SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER); + } + EnablePrivilege(SE_SHUTDOWN_NAME, FALSE); +} + +VOID +ShutDown_Restart(VOID) // Reboot +{ + /* Trick: on Windows, pressing the CTRL key forces reboot via NT API */ + BOOL ForceReboot = !!(GetKeyState(VK_CONTROL) & 0x8000); + + EnablePrivilege(SE_SHUTDOWN_NAME, TRUE); + if (ForceReboot) + { + NtShutdownSystem(ShutdownReboot); + } + else + { + ExitWindowsEx(EWX_REBOOT, + SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER); + } + EnablePrivilege(SE_SHUTDOWN_NAME, FALSE); +} + +VOID +ShutDown_LogOffUser(VOID) +{ + ExitWindowsEx(EWX_LOGOFF, SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER); +} + +VOID +ShutDown_SwitchUser(VOID) +{ +} + +VOID +ShutDown_Disconnect(VOID) +{ +} + +VOID +ShutDown_Eject_Computer(VOID) +{ +} diff --git a/reactos/base/applications/taskmgr/shutdown.h b/reactos/base/applications/taskmgr/shutdown.h new file mode 100644 index 00000000000..615a8a7855d --- /dev/null +++ b/reactos/base/applications/taskmgr/shutdown.h @@ -0,0 +1,48 @@ +/* + * ReactOS Task Manager + * + * shutdown.h + * + * Copyright (C) 1999 - 2001 Brian Palmer + * 2011 Mrio Kacmr /Mario Kacmar/ aka Kario (kario@szm.sk) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#pragma once + +VOID +ShutDown_PowerSaving(VOID); // StandBy + +VOID +ShutDown_Hibernation(VOID); + +VOID +ShutDown_PowerOff(VOID); + +VOID +ShutDown_Restart(VOID); // Reboot + +VOID +ShutDown_LogOffUser(VOID); + +VOID +ShutDown_SwitchUser(VOID); + +VOID +ShutDown_Disconnect(VOID); + +VOID +ShutDown_Eject_Computer(VOID); diff --git a/reactos/base/applications/taskmgr/taskmgr.c b/reactos/base/applications/taskmgr/taskmgr.c index cf94146762c..64b786d5d99 100644 --- a/reactos/base/applications/taskmgr/taskmgr.c +++ b/reactos/base/applications/taskmgr/taskmgr.c @@ -317,6 +317,33 @@ TaskManagerWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) case ID_PROCESS_PAGE_DEBUGCHANNELS: ProcessPage_OnDebugChannels(); break; + +/* ShutDown items */ + case ID_POWER_SAVING: + ShutDown_PowerSaving(); + break; + case ID_HIBERNATION: + ShutDown_Hibernation(); + break; + case ID_SHUTDOWN: + ShutDown_PowerOff(); + break; + case ID_RESTART: + ShutDown_Restart(); + break; + case ID_LOGOFF_USER: + ShutDown_LogOffUser(); + break; + case ID_SWITCH_USER: + ShutDown_SwitchUser(); + break; + case ID_DISCONNECT: + ShutDown_Disconnect(); + break; + case ID_EJECT_COMPUTER: + ShutDown_Eject_Computer(); + break; + case ID_HELP_ABOUT: OnAbout(); break; @@ -957,7 +984,7 @@ void TaskManager_OnTabWndSelChange(void) LoadStringW(hInst, IDS_MENU_DETAILS, szTemp, 256); AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_DETAILS, szTemp); - if (GetMenuItemCount(hMenu) <= 4) { + if (GetMenuItemCount(hMenu) <= 5) { hSubMenu = LoadMenuW(hInst, MAKEINTRESOURCEW(IDR_WINDOWSMENU)); LoadStringW(hInst, IDS_MENU_WINDOWS, szTemp, 256); @@ -987,7 +1014,7 @@ void TaskManager_OnTabWndSelChange(void) if (TaskManagerSettings.Show16BitTasks) CheckMenuItem(hOptionsMenu, ID_OPTIONS_SHOW16BITTASKS, MF_BYCOMMAND|MF_CHECKED); - if (GetMenuItemCount(hMenu) > 4) + if (GetMenuItemCount(hMenu) > 5) { DeleteMenu(hMenu, 3, MF_BYPOSITION); DrawMenuBar(hMainWnd); @@ -1003,7 +1030,7 @@ void TaskManager_OnTabWndSelChange(void) ShowWindow(hProcessPage, SW_HIDE); ShowWindow(hPerformancePage, SW_SHOW); BringWindowToTop(hPerformancePage); - if (GetMenuItemCount(hMenu) > 4) { + if (GetMenuItemCount(hMenu) > 5) { DeleteMenu(hMenu, 3, MF_BYPOSITION); DrawMenuBar(hMainWnd); }