Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как поменять иконку и стpокy в заголовке консольного окна

Delphi , ОС и Железо , DOS и Консоль

Как поменять иконку и стpокy в заголовке консольного окна


Бил Гейтс, когда стал самым богатым человеком в мире, подумал: "На все воля Божья. Я никогда бы не разбогател, если бы Он этого не хотел. Надо как-то отблагодарить." Билли построил огромный храм, зажег в нем миллион свечей, вошел и молится: - Господи, спасибо тебе за все. Не зачти за дерзость господи, но я хочу выразить тебе свою признательность и приглашаю тебя на игру в гольф в это воскресенье. У видел Иисус это фейерверк, услышал молитву, понял, что уважают и решил прийти. Играю они, значит, в гольф. Иисус бьет по мячу, мяч летит и зависает прямо над центром лунки. Иисус бьет по второму - тот летит и зависает прямо над центром лунки. Иисус бьет по третьему - тоже самое. Он оборачивается к Гейтсу и говорит: - Билли, а другого бета-тестера для своих глючных мячей ты подыскать не мог?


procedure TForm1.Button1Click(Sender: TObject);
var
  h: HWND;
  AIcon: TIcon;
begin
  AllocConsole;
  SetConsoleTitle(PChar('Console Title'));
  Sleep(0);
  h := FindWindow(nil, PChar('Console Title'));
  AIcon := TIcon.Create;
  ImageList1.GetIcon(0, AIcon);
  SendMessage(h, WM_SETICON, 1, AIcon.Handle);
  AIcon.Free;
end;

Рассказ о Билле Гейтсе и Иисусе, играющих в гольф!

Теперь давайте поговорим об изменении иконки и заголовка консольного окна.

Код, который я предоставил, настраивает консольное окно с заголовком "Console Title" с помощью функции SetConsoleTitle из Windows API. Для изменения иконки, связанной с этим консольным окном, можно использовать функцию SendMessage, отправляя сообщение WM_SETICON в handle окна (h) и передавая handle иконки (AIcon.Handle) как аргумент.

Вот модифицированная версия вашего кода, которая изменяет иконку:

procedure TForm1.Button1Click(Sender: TObject);
var
  h: HWND;
  AIcon: TIcon;
begin
  AllocConsole;
  SetConsoleTitle(PChar('Новый заголовок консоли'));
  Sleep(0);
  h := FindWindow(nil, PChar('Новый заголовок консоли'));
  AIcon := TIcon.Create;
  ImageList1.GetIcon(0, AIcon); // Замените на индекс иконки, который вам нужен
  SendMessage(h, WM_SETICON, 1, AIcon.Handle);
  AIcon.Free;
end;

В этом коде:

  • Используется функция SetConsoleTitle для изменения заголовка консольного окна.
  • Функция FindWindow используется для поиска handle (h) консольного окна с новым заголовком.
  • Создается экземпляр класса TIcon и заряжается иконкой из вашего списка изображений с помощью метода GetIcon.
  • Функция SendMessage отправляет сообщение WM_SETICON в handle окна, устанавливая иконку для этого окна.

Помните заменить ImageList1.GetIcon(0, AIcon) на индекс иконки, который вам нужен, если это не 0.

В этой статье описывается, как изменить иконку и текст в заголовке консольного окна с помощью программирования на Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: DOS и Консоль ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 00:44:10/0.0035350322723389/1