Commit db0ccc44 authored by Zhiyi Zhang's avatar Zhiyi Zhang Committed by Alexandre Julliard

tasklist: Partially support '/fi' option.

Some filters such as STATUS and CPUTIME are not implemented. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48596
parent 397ce0db
......@@ -18529,6 +18529,12 @@ msgstr "حسنًا"
msgid "ERROR: Invalid syntax\n"
msgstr "خطأ : اسم المفتاح غير سليم\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "لم يتمكن من تحليل اسم الملف.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "م&همة جديدة (تشغيل)..."
......
......@@ -17170,6 +17170,12 @@ msgstr "Aceutar"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: La sintaxis nun ye válida. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The file cannot be accessed.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Nun pue accedese al ficheru.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17168,6 +17168,11 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "Невалидни знаци в пътя.\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "'%s' не може да бъде намерен."
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17449,6 +17449,12 @@ msgstr "D'acord"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: La sintaxi no és vàlida. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "No es pot resoldre el nom de fitxer.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Tasca nova (executa...)"
......
......@@ -17933,6 +17933,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Neplatná syntaxe. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The file cannot be accessed.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "K souboru není možné přistupovat.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nová úloha (Spustit...)"
......
......@@ -18440,6 +18440,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "Fejl: Ugyldigt nøgle navn\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Filnavnet kan ikke afklares.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Ny opgave (Kør...)"
......
......@@ -17416,6 +17416,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Ungültige Syntax. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Der Dateiname konnte nicht gefunden werden.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Neuer Task (Ausführen...)"
......
......@@ -16803,6 +16803,10 @@ msgstr ""
msgid "ERROR: Invalid syntax\n"
msgstr "Μη έγγυρος(οι) χαρακτήρας(ες) στο μονοπάτι.\n"
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17298,6 +17298,10 @@ msgstr "K"
msgid "ERROR: Invalid syntax\n"
msgstr "ERROR: Invalid syntax\n"
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "ERROR: The search filter cannot be recognized.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&New Task (Run...)"
......
......@@ -17298,6 +17298,10 @@ msgstr "K"
msgid "ERROR: Invalid syntax\n"
msgstr "ERROR: Invalid syntax\n"
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "ERROR: The search filter cannot be recognized.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&New Task (Run...)"
......
......@@ -17492,6 +17492,12 @@ msgstr "Bone"
msgid "ERROR: Invalid syntax\n"
msgstr "Nevalida nomo de kunuzata aparato.\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "La dosiernomo ne eblas solvi.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17774,6 +17774,12 @@ msgstr "Aceptar"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Sintaxis inválida. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "No puede resolverse el nombre del fichero.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nueva Tarea (Ejecutar...)"
......
......@@ -16997,6 +16997,11 @@ msgstr "قبول"
msgid "ERROR: Invalid syntax\n"
msgstr "پرونده‌های متنی (*.txt).\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "'%s' پیدا نشد."
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17273,6 +17273,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Syntaksi ei kelpaa. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Tiedostonimeä ei pystytä tulkitsemaan.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Uusi tehtävä (Suorita...)"
......
......@@ -18015,6 +18015,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg : syntaxe invalide. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Impossible de résoudre le nom de fichier.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nouvelle tâche (Exécuter...)"
......
......@@ -17946,6 +17946,11 @@ msgstr "אישור"
msgid "ERROR: Invalid syntax\n"
msgstr "Error: Invalid key name\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "'%s' לא נמצא."
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "משימה &חדשה (הפעלה...)"
......
......@@ -16471,6 +16471,10 @@ msgstr ""
msgid "ERROR: Invalid syntax\n"
msgstr ""
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17900,6 +17900,12 @@ msgstr "U redu"
msgid "ERROR: Invalid syntax\n"
msgstr "Greška: Neispravan naziv ključa\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Naziv datoteke se ne može dohvatit.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Novi zadatak (Pokreni...)"
......
......@@ -18431,6 +18431,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "Hiba: Érvénytelen kulcsnév\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "A fájlnév nem található!.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "Új feladat (f&uttatás...)"
......
......@@ -18518,6 +18518,12 @@ msgstr "Ok"
msgid "ERROR: Invalid syntax\n"
msgstr "Errore: nome della chiave non valido\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Impossibile risolvere il nome del file.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nuovo processo (Esegui...)"
......
......@@ -17310,6 +17310,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: 無効な構文です。"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "ファイル名は解決できません。\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "新しいタスクの実行(&N)..."
......
......@@ -17250,6 +17250,12 @@ msgstr "확인"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: 잘못된 구문. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "파일 이름을 확인할 수 없습니다.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "새 작업(&N) (실행...)"
......
......@@ -17325,6 +17325,12 @@ msgstr "Gerai"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Netinkama sintaksė. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Nepavyko nustatyti failo vardo.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nauja užduotis (vykdyti...)"
......
......@@ -16474,6 +16474,10 @@ msgstr "ശരി"
msgid "ERROR: Invalid syntax\n"
msgstr ""
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17995,6 +17995,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Ugyldig syntaks. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Kan ikke slå opp filnavnet.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Ny oppgave (Kjør...)"
......
......@@ -17390,6 +17390,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Foutieve syntax. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "De bestandsnaam kan niet worden geresolveerd.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nieuwe taak (uitvoeren...)"
......
......@@ -16456,6 +16456,10 @@ msgstr ""
msgid "ERROR: Invalid syntax\n"
msgstr ""
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -16456,6 +16456,10 @@ msgstr ""
msgid "ERROR: Invalid syntax\n"
msgstr ""
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17530,6 +17530,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Nieprawidłowa składnia. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Nie można rozbić nazwy pliku.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nowe zadanie (Uruchom...)"
......
......@@ -17592,6 +17592,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Sintaxe inválida. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "O nome de arquivo não pode ser resolvido.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nova Tarefa (Executar...)"
......
......@@ -18166,6 +18166,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Sintaxe inválida. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "O nome de ficheiro não pode ser resolvido.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nova Tarefa (Executar...)"
......
......@@ -16588,6 +16588,10 @@ msgstr ""
msgid "ERROR: Invalid syntax\n"
msgstr "Tuot las datotecas (*.*).\n"
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -18195,6 +18195,11 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Sintaxă nevalidă. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "'%s' nu a fost găsit."
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "Sarcină &nouă (executare...)"
......
......@@ -17559,6 +17559,12 @@ msgstr "ОК"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: неверный синтаксис. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Не удалось разобрать имя файла.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Новая задача (Выполнить...)"
......
......@@ -17223,6 +17223,10 @@ msgstr "හරි"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: අවලංගු රීති."
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "අලුත් කාර්යයක් (ධාවන කරන්න...) (&N)"
......
......@@ -17669,6 +17669,10 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "Nesprávny názov.\n"
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Nová úloha (Spusti...)"
......
......@@ -18455,6 +18455,12 @@ msgstr "V redu"
msgid "ERROR: Invalid syntax\n"
msgstr "Napaka: neveljavno ime ključa\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Imena datoteke ni mogoče razrešiti.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Novo opravilo (Zaženi ...)"
......
......@@ -17744,6 +17744,11 @@ msgstr "У реду"
msgid "ERROR: Invalid syntax\n"
msgstr "Неисправна синтакса.\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Датотека „%s“ није пронађена."
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17939,6 +17939,11 @@ msgstr "U redu"
msgid "ERROR: Invalid syntax\n"
msgstr "Neispravna sintaksa.\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Datoteka „%s“ nije pronađena."
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -18127,6 +18127,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Ogiltig syntax. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Filnamnet kan inte hittas.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Ny aktivitet (Kör...)"
......
......@@ -16440,6 +16440,10 @@ msgstr "சரி"
msgid "ERROR: Invalid syntax\n"
msgstr ""
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -16456,6 +16456,10 @@ msgstr ""
msgid "ERROR: Invalid syntax\n"
msgstr ""
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17107,6 +17107,11 @@ msgstr "ตกลง"
msgid "ERROR: Invalid syntax\n"
msgstr "แฟ้มตํารา (*.txt).\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "ไม่พบข้อความ '%s' ที่ต้องการค้นหา.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17356,6 +17356,12 @@ msgstr "Tamam"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Geçersiz sözdizimi. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Dosya adı çözülemedi.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Yeni Görev (Çalıştır...)"
......
......@@ -17413,6 +17413,12 @@ msgstr "OK"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: Невірний синтаксис. "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "Ім'я файлу не може бути вирішене.\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "&Нове завдання (Виконати...)"
......
......@@ -16959,6 +16959,11 @@ msgstr "I Va"
msgid "ERROR: Invalid syntax\n"
msgstr "Fitchîs tekse (*.txt).\n"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "'%s' pout nén esse trové."
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -16363,6 +16363,10 @@ msgstr ""
msgid "ERROR: Invalid syntax\n"
msgstr ""
#: programs/tasklist/tasklist.rc:37
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr ""
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr ""
......
......@@ -17069,6 +17069,12 @@ msgstr "确定"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: 语法无效。"
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "不能解析文件名。\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "新任务(&N)..."
......
......@@ -17134,6 +17134,12 @@ msgstr "確定"
msgid "ERROR: Invalid syntax\n"
msgstr "reg: 無效的語法。 "
#: programs/tasklist/tasklist.rc:37
#, fuzzy
#| msgid "The filename cannot be resolved.\n"
msgid "ERROR: The search filter cannot be recognized.\n"
msgstr "無法解析檔案名稱。\n"
#: programs/taskmgr/taskmgr.rc:37 programs/taskmgr/taskmgr.rc:108
msgid "&New Task (Run...)"
msgstr "執行新工作(&N)..."
......
......@@ -173,6 +173,9 @@ static BOOL tasklist_get_process_info(const PROCESSENTRY32W *process_entry, stru
if (info->memory_usage[0] == '\0')
wcscpy(info->memory_usage, L"N/A");
info->pid_value = process_entry->th32ProcessID;
info->memory_usage_value = memory_counters.WorkingSetSize / 1024;
info->session_id_value = session_id;
wcscpy(info->image_name, process_entry->szExeFile);
swprintf(info->pid, ARRAY_SIZE(info->pid), L"%u", process_entry->th32ProcessID);
wcscpy(info->session_name, session_id == 0 ? L"Services" : L"Console");
......@@ -180,6 +183,67 @@ static BOOL tasklist_get_process_info(const PROCESSENTRY32W *process_entry, stru
return TRUE;
}
static BOOL tasklist_check_filters(const struct tasklist_filter *filter,
const struct tasklist_process_info *info)
{
DWORD left_dword_operand, right_dword_operand;
const WCHAR *left_string_operand = NULL;
BOOL eval;
while (filter)
{
left_string_operand = NULL;
left_dword_operand = 0;
eval = FALSE;
if (filter->name == IMAGENAME)
left_string_operand = info->image_name;
else if (filter->name == SESSIONNAME)
left_string_operand = info->session_name;
else if (filter->name == PID)
left_dword_operand = info->pid_value;
else if (filter->name == SESSION)
left_dword_operand = info->session_id_value;
else if (filter->name == MEMUSAGE)
left_dword_operand = info->memory_usage_value;
if (left_string_operand)
{
eval = wcsicmp(left_string_operand, filter->value);
if (filter->op == EQ)
eval = !eval;
}
else
{
if (swscanf(filter->value, L"%lu", &right_dword_operand) != 1)
{
WINE_ERR("Invalid filter operand %s.\n", wine_dbgstr_w(filter->value));
return FALSE;
}
if (filter->op == EQ)
eval = left_dword_operand == right_dword_operand;
else if (filter->op == NE)
eval = left_dword_operand != right_dword_operand;
else if (filter->op == GT)
eval = left_dword_operand > right_dword_operand;
else if (filter->op == LT)
eval = left_dword_operand < right_dword_operand;
else if (filter->op == GE)
eval = left_dword_operand >= right_dword_operand;
else if (filter->op == LE)
eval = left_dword_operand <= right_dword_operand;
}
if (!eval)
return FALSE;
filter = filter->next;
}
return TRUE;
}
static void tasklist_print(const struct tasklist_options *options)
{
struct tasklist_process_info header, info;
......@@ -207,6 +271,9 @@ static void tasklist_print(const struct tasklist_options *options)
if (!tasklist_get_process_info(&process_list[i], &info))
continue;
if (!tasklist_check_filters(options->filters, &info))
continue;
if (options->format == TABLE)
wprintf(L"%-25.25s %8.8s %-16.16s %11.11s %12s\n",
info.image_name, info.pid, info.session_name, info.session_number, info.memory_usage);
......@@ -232,7 +299,9 @@ static void tasklist_print(const struct tasklist_options *options)
int __cdecl wmain(int argc, WCHAR *argv[])
{
struct tasklist_options options = {0};
int i;
struct tasklist_filter *filter, *next, **filter_ptr = &options.filters;
WCHAR *filter_name, *filter_op, *buffer;
int i, ret = 0;
for (i = 0; i < argc; i++)
WINE_TRACE("%s ", wine_dbgstr_w(argv[i]));
......@@ -243,7 +312,7 @@ int __cdecl wmain(int argc, WCHAR *argv[])
if (!wcscmp(argv[i], L"/?"))
{
tasklist_message(STRING_USAGE);
return 0;
goto done;
}
else if (!wcsicmp(argv[i], L"/nh"))
{
......@@ -254,7 +323,8 @@ int __cdecl wmain(int argc, WCHAR *argv[])
if (i + 1 >= argc)
{
tasklist_error(STRING_INVALID_SYNTAX);
return 1;
ret = 1;
goto done;
}
else if (!wcsicmp(argv[i + 1], L"TABLE"))
{
......@@ -271,9 +341,93 @@ int __cdecl wmain(int argc, WCHAR *argv[])
else
{
tasklist_error(STRING_INVALID_SYNTAX);
return 1;
ret = 1;
goto done;
}
}
else if (!wcsicmp(argv[i], L"/fi"))
{
if (i + 1 >= argc || !(filter_name = wcstok(argv[i + 1], L" ", &buffer)))
{
tasklist_error(STRING_INVALID_SYNTAX);
ret = 1;
goto done;
}
filter = calloc(1, sizeof(*filter));
if (!filter)
{
WINE_ERR("Out of memory.\n");
ret = 1;
goto done;
}
if (!wcsicmp(filter_name, L"IMAGENAME"))
filter->name = IMAGENAME;
else if (!wcsicmp(filter_name, L"PID"))
filter->name = PID;
else if (!wcsicmp(filter_name, L"SESSION"))
filter->name = SESSION;
else if (!wcsicmp(filter_name, L"SESSIONNAME"))
filter->name = SESSIONNAME;
else if (!wcsicmp(filter_name, L"MEMUSAGE"))
filter->name = MEMUSAGE;
else
{
WINE_WARN("Ignoring filter %s.\n", wine_dbgstr_w(filter_name));
free(filter);
continue;
}
filter_op = wcstok(NULL, L" ", &buffer);
if (!filter_op)
{
tasklist_error(STRING_FILTER_NOT_RECOGNIZED);
free(filter);
ret = 1;
goto done;
}
if (!wcsicmp(filter_op, L"EQ"))
filter->op = EQ;
else if (!wcsicmp(filter_op, L"NE"))
filter->op = NE;
else if (!wcsicmp(filter_op, L"GT"))
filter->op = GT;
else if (!wcsicmp(filter_op, L"LT"))
filter->op = LT;
else if (!wcsicmp(filter_op, L"GE"))
filter->op = GE;
else if (!wcsicmp(filter_op, L"LE"))
filter->op = LE;
else
{
tasklist_error(STRING_FILTER_NOT_RECOGNIZED);
free(filter);
ret = 1;
goto done;
}
if (filter->op >= GT && filter->name != PID && filter->name != SESSION && filter->name != MEMUSAGE)
{
tasklist_error(STRING_FILTER_NOT_RECOGNIZED);
free(filter);
ret = 1;
goto done;
}
filter->value = wcstok(NULL, L" ", &buffer);
if (!filter->value)
{
tasklist_error(STRING_FILTER_NOT_RECOGNIZED);
free(filter);
ret = 1;
goto done;
}
*filter_ptr = filter;
filter_ptr = &filter->next;
}
else
{
WINE_WARN("Ignoring option %s\n", wine_dbgstr_w(argv[i]));
......@@ -281,5 +435,14 @@ int __cdecl wmain(int argc, WCHAR *argv[])
}
tasklist_print(&options);
return 0;
done:
next = options.filters;
while (next)
{
filter = next->next;
free(next);
next = filter;
}
return ret;
}
......@@ -28,6 +28,7 @@
#define STRING_MEM_USAGE 106
#define STRING_K 107
#define STRING_INVALID_SYNTAX 108
#define STRING_FILTER_NOT_RECOGNIZED 109
enum tasklist_format
{
......@@ -36,8 +37,38 @@ enum tasklist_format
LIST = 2,
};
enum tasklist_filter_name
{
IMAGENAME = 1,
PID = 2,
SESSION = 3,
SESSIONNAME = 4,
MEMUSAGE = 5,
};
enum tasklist_filter_operator
{
EQ = 0,
NE = 1,
GT = 2,
LT = 3,
GE = 4,
LE = 5,
};
struct tasklist_filter
{
enum tasklist_filter_name name;
enum tasklist_filter_operator op;
WCHAR *value;
struct tasklist_filter *next;
};
struct tasklist_process_info
{
DWORD pid_value;
DWORD memory_usage_value;
DWORD session_id_value;
WCHAR image_name[32];
WCHAR pid[32];
WCHAR session_name[32];
......@@ -49,4 +80,5 @@ struct tasklist_options
{
BOOL no_header;
enum tasklist_format format;
struct tasklist_filter *filters;
};
......@@ -33,6 +33,7 @@ STRINGTABLE
STRING_MEM_USAGE, "Mem Usage"
STRING_K, "K"
STRING_INVALID_SYNTAX, "ERROR: Invalid syntax\n"
STRING_FILTER_NOT_RECOGNIZED, "ERROR: The search filter cannot be recognized.\n"
}
#define WINE_FILEDESCRIPTION_STR "Wine tasklist"
......
......@@ -17,6 +17,7 @@
*/
#include <windows.h>
#include <psapi.h>
#include "wine/test.h"
#define MAX_BUFFER 65536
......@@ -164,6 +165,108 @@ static void test_format(void)
ok(!!pos, "Failed to list tasklist.exe.\n");
}
static void test_filter(void)
{
char options[256], *pos, basename[64];
HANDLE current_process;
DWORD current_pid;
current_pid = GetCurrentProcessId();
current_process = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, current_pid);
GetModuleBaseNameA(current_process, NULL, basename, ARRAY_SIZE(basename));
CloseHandle(current_process);
/* /fi */
/* no value for fi */
run_tasklist("/fi", 1);
ok(stdout_size == 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size > 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
/* IMAGENAME eq */
sprintf(options, "/fi \"IMAGENAME eq %s\"", basename);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!!pos, "Failed to list %s.\n", basename);
/* IMAGENAME ne */
sprintf(options, "/fi \"IMAGENAME ne %s\"", basename);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!pos, "Got %s.\n", basename);
pos = strstr(stdout_buffer, "tasklist.exe");
ok(!!pos, "Failed to list tasklist.exe.\n");
/* PID eq */
sprintf(options, "/fi \"PID eq %ld\"", current_pid);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!!pos, "Failed to list %s.\n", basename);
/* PID ne */
sprintf(options, "/fi \"PID ne %ld\"", current_pid);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!pos, "Got %s.\n", basename);
pos = strstr(stdout_buffer, "tasklist.exe");
ok(!!pos, "Failed to list tasklist.exe.\n");
/* PID gt */
sprintf(options, "/fi \"PID gt %ld\"", current_pid - 1);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!!pos, "Failed to list %s.\n", basename);
/* PID lt */
sprintf(options, "/fi \"PID lt %ld\"", current_pid + 1);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!!pos, "Failed to list %s.\n", basename);
/* PID ge */
sprintf(options, "/fi \"PID ge %ld\"", current_pid);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!!pos, "Failed to list %s.\n", basename);
/* PID le */
sprintf(options, "/fi \"PID le %ld\"", current_pid);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!!pos, "Failed to list %s.\n", basename);
/* IMAGENAME eq + PID eq */
sprintf(options, "/fi \"IMAGENAME eq %s\" /fi \"PID eq %ld\"", basename, current_pid);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!!pos, "Failed to list %s.\n", basename);
/* IMAGENAME eq + PID eq with wrong PID */
sprintf(options, "/fi \"IMAGENAME eq %s\" /fi \"PID eq %ld\"", basename, current_pid + 1);
run_tasklist(options, 0);
ok(stdout_size > 0, "Unexpected stdout buffer size %ld.\n", stdout_size);
ok(stderr_size == 0, "Unexpected stderr buffer size %ld.\n", stderr_size);
pos = strstr(stdout_buffer, basename);
ok(!pos, "Got %s.\n", basename);
}
START_TEST(tasklist)
{
if (PRIMARYLANGID(GetUserDefaultUILanguage()) != LANG_ENGLISH)
......@@ -175,4 +278,5 @@ START_TEST(tasklist)
test_basic();
test_no_header();
test_format();
test_filter();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment