Приходит как-то программер со школы. Жена ему говорит:
- Дорогой, тебе чайник поставить?
- Да за#бали меня уже эти чайники!!!
procedure TForm1.Button1Click(Sender: TObject);
{Размещаем имена модулей запущенных/минимизированных задач в ListBox }var
pTask: pTaskEntry; {требуется Uses ToolHelp}
Task: bool;
Pstr: array[0..79] of Char;
Str: string[80];
byt_j: byte;
begin
ListBox1.Clear;
GetMem(pTask, SizeOf(TTaskEntry)); {Резервируем память для TaskEntry}
pTask^.dwSize := SizeOf(TTaskEntry);
byt_j := 0; {Устанавливаем счетчик для количества задач}
Task := TaskFirst(pTask); {Ищем первую задачу}while task dobegin
inc(byt_j); {счетчик количества различных задач}
Str := StrPas(pTask^.szModule); {Преобразуем PStr в паскалевскую строку}
Listbox1.Items.Add(str); {Сохраняем паскалевскую строку в ListBox}
task := taskNext(pTask); {Ищем следующую возможную задачу}end;
Label1.Caption := IntToStr(byt_j) + ' задач найдено'; {Показываем счетчик}end;
Программный код на Delphi, демонстрирующий использование списка задач (Tasklist) в Windows. Программа предназначена для извлечения и отображения списка запущенных и миниатюризированных задач в контроле ListBox.
Содержание кода:
Событийный обработчик Button1Click вызывается при клике кнопки на форме.
Код очищает существующие содержимое контрола ListBox (ListBox1.Clear).
Он выделяет память для структуры TTaskEntry с помощью функции GetMem и устанавливает ее размер равным размеру записи TTaskEntry (pTask^.dwSize := SizeOf(TTaskEntry);).
Код initializes переменную счетчика byt_j в 0, которая будет использоваться для подсчета количества найденных задач.
Он вызывает функцию TaskFirst, чтобы найти первую задачу в списке задач и присваивает ее результат переменной task.
Пока есть еще задачи доступны (т.е., task истинно), код:
Увеличивает счетчик byt_j.
Конвертирует поле szModule текущей задачи (pTask^.szModule) в строку Delphi с помощью функции StrPas и присваивает ее переменной Str.
Добавляет имя задачи (т.е., значение Str) в контрол ListBox с помощью метода Items.Add.
Вызывает функцию TaskNext, чтобы найти следующую доступную задачу, и присваивает ее результат переменной task.
Наконец, код устанавливает заголовок контрола Label (Label1.Caption) для отображения общего количества найденных задач (byt_j).
Чтобы использовать этот код, вам нужно:
Создать новый проект Delphi и добавить контрол ListBox (именованный ListBox1) и контрол Label (именованный Label1) на форму.
Добавьте кнопку и установите ее событийный обработчик OnClick на Button1Click.
Скомпилируйте и запустите программу.
Вывод будет списком запущенных и миниатюризированных задач в контроле ListBox, а также общим количеством найденных задач, отображаемым в контроле Label.
В статье рассматривается использование Списка Задач (Tasklist) в программировании, а конкретно пример кода на языке Delphi для извлечения и отображения списка запущенных задач.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.