mirror of
https://github.com/reactos/reactos.git
synced 2024-08-03 18:10:54 +00:00
[TASKKILL]
* Sync with Wine 1.7.27. CORE-8540 svn path=/trunk/; revision=64648
This commit is contained in:
parent
613952ea4c
commit
59df91f2ea
|
@ -1,19 +1,19 @@
|
|||
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
STRING_USAGE "taskkill [/?] [/f] [/im Prozess Name | /pid Prozess ID]\n"
|
||||
STRING_INVALID_OPTION "Fehler: Unbekannte oder ungülige Kommandozeilenoption angegeben.\n"
|
||||
STRING_INVALID_PARAM "Fehler: Ungültiger Kommandozeilenparameter angegeben.\n"
|
||||
STRING_MISSING_OPTION "Fehler: Eine der Optionen /im oder /pid muss angegeben werden.\n"
|
||||
STRING_MISSING_PARAM "Fehler: Option %1 erwartet einen Kommandozeilenparameter.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE "Fehler: Optionen /im und /pid schließen sich gegenseitig aus.\n"
|
||||
STRING_CLOSE_PID_SEARCH "Schließen-Befehl an oberstes Fenster des Prozesses mit PID %1!u! gesendet.\n"
|
||||
STRING_CLOSE_PROC_SRCH "Schließen-Befehl an oberstes Fenster des Prozesses ""%1"" mit PID %2!u! gesendet.\n"
|
||||
STRING_TERM_PID_SEARCH "Prozess mit PID %1!u! wurde erzwungenermaßen beendet.\n"
|
||||
STRING_TERM_PROC_SEARCH "Prozess ""%1"" mit PID %2!u! wurde erzwungenermaßen beendet.\n"
|
||||
STRING_SEARCH_FAILED "Fehler: Konnte Prozess ""%1"" nicht finden.\n"
|
||||
STRING_ENUM_FAILED "Fehler: Prozessliste kann nicht aufgebaut werden.\n"
|
||||
STRING_TERMINATE_FAILED "Fehler: Prozess ""%1"" kann nicht beendet werden.\n"
|
||||
STRING_SELF_TERMINATION "Fehler: Der Prozess kann sich nicht selbst beenden.\n"
|
||||
END
|
||||
{
|
||||
STRING_USAGE, "Usage: taskkill [/?] [/f] [/im Prozess Name | /pid Prozess ID]\n"
|
||||
STRING_INVALID_OPTION, "Fehler: Unbekannte oder ungülige Kommandozeilenoption angegeben.\n"
|
||||
STRING_INVALID_PARAM, "Fehler: Ungültiger Kommandozeilenparameter angegeben.\n"
|
||||
STRING_MISSING_OPTION, "Fehler: Eine der Optionen /im oder /pid muss angegeben werden.\n"
|
||||
STRING_MISSING_PARAM, "Fehler: Option %1 erwartet einen Kommandozeilenparameter.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE, "Fehler: Optionen /im und /pid schließen sich gegenseitig aus.\n"
|
||||
STRING_CLOSE_PID_SEARCH, "Schließen-Befehl an oberstes Fenster des Prozesses mit PID %1!u! gesendet.\n"
|
||||
STRING_CLOSE_PROC_SRCH, "Schließen-Befehl an oberstes Fenster des Prozesses ""%1"" mit PID %2!u! gesendet.\n"
|
||||
STRING_TERM_PID_SEARCH, "Prozess mit PID %1!u! wurde erzwungenermaßen beendet.\n"
|
||||
STRING_TERM_PROC_SEARCH, "Prozess ""%1"" mit PID %2!u! wurde erzwungenermaßen beendet.\n"
|
||||
STRING_SEARCH_FAILED, "Fehler: Konnte Prozess ""%1"" nicht finden.\n"
|
||||
STRING_ENUM_FAILED, "Fehler: Prozessliste kann nicht aufgebaut werden.\n"
|
||||
STRING_TERMINATE_FAILED, "Fehler: Prozess ""%1"" kann nicht beendet werden.\n"
|
||||
STRING_SELF_TERMINATION, "Fehler: Der Prozess kann sich nicht selbst beenden.\n"
|
||||
}
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
STRING_USAGE "taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n"
|
||||
STRING_INVALID_OPTION "Error: Unknown or invalid command line option specified.\n"
|
||||
STRING_INVALID_PARAM "Error: Invalid command line parameter specified.\n"
|
||||
STRING_MISSING_OPTION "Error: One of options /im or /pid must be specified.\n"
|
||||
STRING_MISSING_PARAM "Error: Option %1 expects a command line parameter.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE "Error: Options /im and /pid are mutually exclusive.\n"
|
||||
STRING_CLOSE_PID_SEARCH "Close message sent to top-level windows of process with PID %1!u!.\n"
|
||||
STRING_CLOSE_PROC_SRCH "Close message sent to top-level windows of process ""%1"" with PID %2!u!.\n"
|
||||
STRING_TERM_PID_SEARCH "Process with PID %1!u! was forcibly terminated.\n"
|
||||
STRING_TERM_PROC_SEARCH "Process ""%1"" with PID %2!u! was forcibly terminated.\n"
|
||||
STRING_SEARCH_FAILED "Error: Could not find process ""%1"".\n"
|
||||
STRING_ENUM_FAILED "Error: Unable to enumerate the process list.\n"
|
||||
STRING_TERMINATE_FAILED "Error: Unable to terminate process ""%1"".\n"
|
||||
STRING_SELF_TERMINATION "Error: Process self-termination is not permitted.\n"
|
||||
END
|
||||
{
|
||||
STRING_USAGE, "Usage: taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n"
|
||||
STRING_INVALID_OPTION, "Error: Unknown or invalid command line option specified.\n"
|
||||
STRING_INVALID_PARAM, "Error: Invalid command line parameter specified.\n"
|
||||
STRING_MISSING_OPTION, "Error: One of options /im or /pid must be specified.\n"
|
||||
STRING_MISSING_PARAM, "Error: Option %1 expects a command line parameter.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE, "Error: Options /im and /pid are mutually exclusive.\n"
|
||||
STRING_CLOSE_PID_SEARCH, "Close message sent to top-level windows of process with PID %1!u!.\n"
|
||||
STRING_CLOSE_PROC_SRCH, "Close message sent to top-level windows of process ""%1"" with PID %2!u!.\n"
|
||||
STRING_TERM_PID_SEARCH, "Process with PID %1!u! was forcibly terminated.\n"
|
||||
STRING_TERM_PROC_SEARCH, "Process ""%1"" with PID %2!u! was forcibly terminated.\n"
|
||||
STRING_SEARCH_FAILED, "Error: Could not find process ""%1"".\n"
|
||||
STRING_ENUM_FAILED, "Error: Unable to enumerate the process list.\n"
|
||||
STRING_TERMINATE_FAILED, "Error: Unable to terminate process ""%1"".\n"
|
||||
STRING_SELF_TERMINATION, "Error: Process self-termination is not permitted.\n"
|
||||
}
|
||||
|
|
|
@ -3,19 +3,19 @@
|
|||
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
STRING_USAGE "taskkill [/?] [/f] [/im NumeProces | /pid IdProces]\n"
|
||||
STRING_INVALID_OPTION "Eroare: Opțiune specificată nevalidă sau necunoscută.\n"
|
||||
STRING_INVALID_PARAM "Eroare: Parametrul de comandă specificat este nevalid.\n"
|
||||
STRING_MISSING_OPTION "Eroare: Trebuie specificată una dintre opțiunile /im sau /pid.\n"
|
||||
STRING_MISSING_PARAM "Eroare: Opțiunea %1 necesită un parametru.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE "Eroare: Opțiunile /im și /pid sunt reciproc exclusive.\n"
|
||||
STRING_CLOSE_PID_SEARCH "Către fereastra procesului cu PID %1!u! a fost emis un mesaj de închidere.\n"
|
||||
STRING_CLOSE_PROC_SRCH "Către fereastra procesului «%1» cu PID %2!u! a fost emis un mesaj de închidere.\n"
|
||||
STRING_TERM_PID_SEARCH "Procesul cu PID %1!u! a fost oprit în mod forțat.\n"
|
||||
STRING_TERM_PROC_SEARCH "Procesul «%1» cu PID %2!u! a fost oprit în mod forțat.\n"
|
||||
STRING_SEARCH_FAILED "Eroare: Nu se poate găsi procesul «%1».\n"
|
||||
STRING_ENUM_FAILED "Eroare: Nu se poate enumera lista de procese.\n"
|
||||
STRING_TERMINATE_FAILED "Eroare: Procesul «%1» nu poate fi oprit.\n"
|
||||
STRING_SELF_TERMINATION "Eroare: Auto-terminarea nu este permisă.\n"
|
||||
END
|
||||
{
|
||||
STRING_USAGE, "Usage: taskkill [/?] [/f] [/im NumeProces | /pid IdProces]\n"
|
||||
STRING_INVALID_OPTION, "Eroare: Opțiune specificată nevalidă sau necunoscută.\n"
|
||||
STRING_INVALID_PARAM, "Eroare: Parametrul de comandă specificat este nevalid.\n"
|
||||
STRING_MISSING_OPTION, "Eroare: Trebuie specificată una dintre opțiunile /im sau /pid.\n"
|
||||
STRING_MISSING_PARAM, "Eroare: Opțiunea %1 necesită un parametru.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE, "Eroare: Opțiunile /im și /pid sunt reciproc exclusive.\n"
|
||||
STRING_CLOSE_PID_SEARCH, "Către fereastra procesului cu PID %1!u! a fost emis un mesaj de închidere.\n"
|
||||
STRING_CLOSE_PROC_SRCH, "Către fereastra procesului «%1» cu PID %2!u! a fost emis un mesaj de închidere.\n"
|
||||
STRING_TERM_PID_SEARCH, "Procesul cu PID %1!u! a fost oprit în mod forțat.\n"
|
||||
STRING_TERM_PROC_SEARCH, "Procesul «%1» cu PID %2!u! a fost oprit în mod forțat.\n"
|
||||
STRING_SEARCH_FAILED, "Eroare: Nu se poate găsi procesul «%1».\n"
|
||||
STRING_ENUM_FAILED, "Eroare: Nu se poate enumera lista de procese.\n"
|
||||
STRING_TERMINATE_FAILED, "Eroare: Procesul «%1» nu poate fi oprit.\n"
|
||||
STRING_SELF_TERMINATION, "Eroare: Auto-terminarea nu este permisă.\n"
|
||||
}
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
STRING_USAGE "TASKKILL [/F] [/IM <образ> | /PID <процесс>]\n"
|
||||
STRING_INVALID_OPTION "Error: Unknown or invalid command line option specified.\n"
|
||||
STRING_INVALID_PARAM "Error: Invalid command line parameter specified.\n"
|
||||
STRING_MISSING_OPTION "Error: One of options /im or /pid must be specified.\n"
|
||||
STRING_MISSING_PARAM "Error: Option %1 expects a command line parameter.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE "Error: Options /im and /pid are mutually exclusive.\n"
|
||||
STRING_CLOSE_PID_SEARCH "Close message sent to top-level windows of process with PID %1!u!.\n"
|
||||
STRING_CLOSE_PROC_SRCH "Close message sent to top-level windows of process ""%1"" with PID %2!u!.\n"
|
||||
STRING_TERM_PID_SEARCH "Process with PID %1!u! was forcibly terminated.\n"
|
||||
STRING_TERM_PROC_SEARCH "Process ""%1"" with PID %2!u! was forcibly terminated.\n"
|
||||
STRING_SEARCH_FAILED "Error: Could not find process ""%1"".\n"
|
||||
STRING_ENUM_FAILED "Error: Unable to enumerate the process list.\n"
|
||||
STRING_TERMINATE_FAILED "Error: Unable to terminate process ""%1"".\n"
|
||||
STRING_SELF_TERMINATION "Error: Process self-termination is not permitted.\n"
|
||||
END
|
||||
{
|
||||
STRING_USAGE, "Usage: TASKKILL [/F] [/IM <образ> | /PID <процесс>]\n"
|
||||
STRING_INVALID_OPTION, "Error: Unknown or invalid command line option specified.\n"
|
||||
STRING_INVALID_PARAM, "Error: Invalid command line parameter specified.\n"
|
||||
STRING_MISSING_OPTION, "Error: One of options /im or /pid must be specified.\n"
|
||||
STRING_MISSING_PARAM, "Error: Option %1 expects a command line parameter.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE, "Error: Options /im and /pid are mutually exclusive.\n"
|
||||
STRING_CLOSE_PID_SEARCH, "Close message sent to top-level windows of process with PID %1!u!.\n"
|
||||
STRING_CLOSE_PROC_SRCH, "Close message sent to top-level windows of process ""%1"" with PID %2!u!.\n"
|
||||
STRING_TERM_PID_SEARCH, "Process with PID %1!u! was forcibly terminated.\n"
|
||||
STRING_TERM_PROC_SEARCH, "Process ""%1"" with PID %2!u! was forcibly terminated.\n"
|
||||
STRING_SEARCH_FAILED, "Error: Could not find process ""%1"".\n"
|
||||
STRING_ENUM_FAILED, "Error: Unable to enumerate the process list.\n"
|
||||
STRING_TERMINATE_FAILED, "Error: Unable to terminate process ""%1"".\n"
|
||||
STRING_SELF_TERMINATION, "Error: Process self-termination is not permitted.\n"
|
||||
}
|
||||
|
|
|
@ -5,19 +5,19 @@
|
|||
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
STRING_USAGE "taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n"
|
||||
STRING_INVALID_OPTION "Gabim: Panjohur ose i pavlefshëm opsioni linjes komandes i specifikuar.\n"
|
||||
STRING_INVALID_PARAM "Gabim: Pavlefshëm parametri i specifikuar ne linjen e komandes.\n"
|
||||
STRING_MISSING_OPTION "Gabim: Njera nga opsionet /im ose /pid duhet te specifikohet.\n"
|
||||
STRING_MISSING_PARAM "Gabim: Opsioni %1 kalon parametrin i linjes se komandes.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE "Gabim: Opsioni /im dhe /pid janë exclusiv reciprokisht.\n"
|
||||
STRING_CLOSE_PID_SEARCH "Mbyll mesazhin e derguar ne dritaren e nivelin-lart te proceseve me PID %1!u!.\n"
|
||||
STRING_CLOSE_PROC_SRCH "Mbyll mesazhin e derguar ne dritaren e nivelin-lart te proceseve ""%1"" me PID %2!u!.\n"
|
||||
STRING_TERM_PID_SEARCH "Proceso me PID %1!u! u mbyll me force.\n"
|
||||
STRING_TERM_PROC_SEARCH "Proces ""%1"" me PID %2!u! u mbyll me force.\n"
|
||||
STRING_SEARCH_FAILED "Gabim: Nuk u gjend procesi ""%1"".\n"
|
||||
STRING_ENUM_FAILED "Gabim: Në pamundësi për të numëruar listën proceseve.\n"
|
||||
STRING_TERMINATE_FAILED "Gabim: Pamundur mbyllja e proceseve ""%1"".\n"
|
||||
STRING_SELF_TERMINATION "Gabim: Procesi vetë-përfundimi nuk është i lejuar.\n"
|
||||
END
|
||||
{
|
||||
STRING_USAGE, "Usage: taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n"
|
||||
STRING_INVALID_OPTION, "Gabim: Panjohur ose i pavlefshëm opsioni linjes komandes i specifikuar.\n"
|
||||
STRING_INVALID_PARAM, "Gabim: Pavlefshëm parametri i specifikuar ne linjen e komandes.\n"
|
||||
STRING_MISSING_OPTION, "Gabim: Njera nga opsionet /im ose /pid duhet te specifikohet.\n"
|
||||
STRING_MISSING_PARAM, "Gabim: Opsioni %1 kalon parametrin i linjes se komandes.\n"
|
||||
STRING_MUTUAL_EXCLUSIVE, "Gabim: Opsioni /im dhe /pid janë exclusiv reciprokisht.\n"
|
||||
STRING_CLOSE_PID_SEARCH, "Mbyll mesazhin e derguar ne dritaren e nivelin-lart te proceseve me PID %1!u!.\n"
|
||||
STRING_CLOSE_PROC_SRCH, "Mbyll mesazhin e derguar ne dritaren e nivelin-lart te proceseve ""%1"" me PID %2!u!.\n"
|
||||
STRING_TERM_PID_SEARCH, "Proceso me PID %1!u! u mbyll me force.\n"
|
||||
STRING_TERM_PROC_SEARCH, "Proces ""%1"" me PID %2!u! u mbyll me force.\n"
|
||||
STRING_SEARCH_FAILED, "Gabim: Nuk u gjend procesi ""%1"".\n"
|
||||
STRING_ENUM_FAILED, "Gabim: Në pamundësi për të numëruar listën proceseve.\n"
|
||||
STRING_TERMINATE_FAILED, "Gabim: Pamundur mbyllja e proceseve ""%1"".\n"
|
||||
STRING_SELF_TERMINATION, "Gabim: Procesi vetë-përfundimi nuk është i lejuar.\n"
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(taskkill);
|
||||
|
||||
static int force_termination;
|
||||
static BOOL force_termination = FALSE;
|
||||
|
||||
static WCHAR **task_list;
|
||||
static unsigned int task_count;
|
||||
|
@ -450,36 +450,46 @@ static BOOL add_to_task_list(WCHAR *name)
|
|||
* options are detected as parameters when placed after options that accept one. */
|
||||
static BOOL process_arguments(int argc, WCHAR *argv[])
|
||||
{
|
||||
static const WCHAR slashForceTerminate[] = {'/','f',0};
|
||||
static const WCHAR slashImage[] = {'/','i','m',0};
|
||||
static const WCHAR slashPID[] = {'/','p','i','d',0};
|
||||
static const WCHAR slashHelp[] = {'/','?',0};
|
||||
static const WCHAR slashTerminateChildren[] = {'/','t',0};
|
||||
static const WCHAR opForceTerminate[] = {'f',0};
|
||||
static const WCHAR opImage[] = {'i','m',0};
|
||||
static const WCHAR opPID[] = {'p','i','d',0};
|
||||
static const WCHAR opHelp[] = {'?',0};
|
||||
static const WCHAR opTerminateChildren[] = {'t',0};
|
||||
|
||||
if (argc > 1)
|
||||
{
|
||||
int i;
|
||||
BOOL has_im = 0, has_pid = 0;
|
||||
WCHAR *argdata;
|
||||
BOOL has_im = FALSE, has_pid = FALSE;
|
||||
|
||||
/* Only the lone help option is recognized. */
|
||||
if (argc == 2 && !strcmpW(slashHelp, argv[1]))
|
||||
if (argc == 2)
|
||||
{
|
||||
taskkill_message(STRING_USAGE);
|
||||
exit(0);
|
||||
argdata = argv[1];
|
||||
if ((*argdata == '/' || *argdata == '-') && !strcmpW(opHelp, argdata + 1))
|
||||
{
|
||||
taskkill_message(STRING_USAGE);
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
int got_im = 0, got_pid = 0;
|
||||
BOOL got_im = FALSE, got_pid = FALSE;
|
||||
|
||||
if (!strcmpiW(slashTerminateChildren, argv[i]))
|
||||
WINE_FIXME("/T not supported\n");
|
||||
if (!strcmpiW(slashForceTerminate, argv[i]))
|
||||
force_termination = 1;
|
||||
argdata = argv[i];
|
||||
if (*argdata != '/' && *argdata != '-')
|
||||
goto invalid;
|
||||
argdata++;
|
||||
|
||||
if (!strcmpiW(opTerminateChildren, argdata))
|
||||
WINE_FIXME("argument T not supported\n");
|
||||
if (!strcmpiW(opForceTerminate, argdata))
|
||||
force_termination = TRUE;
|
||||
/* Options /IM and /PID appear to behave identically, except for
|
||||
* the fact that they cannot be specified at the same time. */
|
||||
else if ((got_im = !strcmpiW(slashImage, argv[i])) ||
|
||||
(got_pid = !strcmpiW(slashPID, argv[i])))
|
||||
else if ((got_im = !strcmpiW(opImage, argdata)) ||
|
||||
(got_pid = !strcmpiW(opPID, argdata)))
|
||||
{
|
||||
if (!argv[i + 1])
|
||||
{
|
||||
|
@ -488,8 +498,8 @@ static BOOL process_arguments(int argc, WCHAR *argv[])
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (got_im) has_im = 1;
|
||||
if (got_pid) has_pid = 1;
|
||||
if (got_im) has_im = TRUE;
|
||||
if (got_pid) has_pid = TRUE;
|
||||
|
||||
if (has_im && has_pid)
|
||||
{
|
||||
|
@ -504,6 +514,7 @@ static BOOL process_arguments(int argc, WCHAR *argv[])
|
|||
}
|
||||
else
|
||||
{
|
||||
invalid:
|
||||
taskkill_message(STRING_INVALID_OPTION);
|
||||
taskkill_message(STRING_USAGE);
|
||||
return FALSE;
|
||||
|
|
|
@ -234,7 +234,7 @@ reactos/dll/cpl/inetcpl # Synced to Wine-1.7.27
|
|||
ReactOS shares the following programs with Winehq.
|
||||
|
||||
reactos/base/applications/cmdutils/reg # Synced to Wine-1.7.27
|
||||
reactos/base/applications/cmdutils/taskkill # Synced to Wine-1.7.1
|
||||
reactos/base/applications/cmdutils/taskkill # Synced to Wine-1.7.27
|
||||
reactos/base/applications/cmdutils/wmic # Synced to Wine-1.7.1
|
||||
reactos/base/applications/cmdutils/xcopy # Synced to Wine-1.7.1
|
||||
reactos/base/applications/games/winmine # Forked at Wine-1_3_5
|
||||
|
|
Loading…
Reference in a new issue