БОЛЬШОЙ FAQ ПО DELPHI



Здесь был Я

Автор: HuNtEr

Письмо пользователя в группу технической поддержки сетевой игры "Квейк": "Я нашел глюк. Прямо посреди сцены во время игры постоянно зависают пять ботов." Ответ группы поддержки: "Это не глюк. Это не зависают пять ботов, это играет команда финов."

Откуда пошла привычка у людей - везде оставлять свои автографы - остаётся только догадываться. Скорее всего, мы это позаимствовали с наскальных рисунков эпохи неолита. Но это в прошлом, а сейчас мы попытаемся оставить след о себе уже в компьютерном варианте.

  • Добавляем своё имя в System Tray (рядом с часами)

 program Name_in_tray;
 
 {$APPTYPE CONSOLE}
 uses
   registry, windows;
 
 procedure name_in_tray;
 const
   name = 'Delphi World'; // Указываем своё имя или какое-либо слово
 var
   reg: tregistry;
 begin
   reg:=tregistry.Create;
   reg.RootKey:=HKEY_CURRENT_USER;
   reg.OpenKey('Control Panel\International',true);
   reg.WriteString('s1159',name);
   reg.WriteString('s2359',name);
   reg.WriteString('sTimeFormat','HH:mm:ss tt');
   reg.CloseKey;
 end;
 
 begin
   name_in_tray;
 end.
 

  • Пишем на кнопке Пуск

 program Name_on_pusk;
 
 {$APPTYPE CONSOLE}
 
 uses
   windows;
 
 procedure name_on_pusk;
 const
   name='Delphi World';
 var
   h, h1: hwnd;
 begin
   h := findwindow('Shell_TrayWnd', nil);
   h1 := findwindowex(h, 0, 'Button', nil);
   setwindowtext(h1, name);
 end;
 
 begin
   name_on_pusk;
 end.
 

  • Рисуем прямо по экрану (поверх всех окон)

 program Name_on_screen;
 
 {$APPTYPE CONSOLE}
 
 uses
   windows, graphics;
 
 procedure Name_on_screen;
 const
   name='Delphi World';
 var
   ScreenDC: hDC;
 begin
   ScreenDC := GetDC(0);
   settextcolor(screendc,clred); // Устанавливаем цвет текста, в данном случае
   // clRed - красный.
   SetBkMode(screendc, TRANSPARENT); // Рисуем на прозрачном фоне,
   // без этой строчки фон - белый.
   textout(screendc,0,0,name,6); // Устанавливаем координаты вывода и длину
   // строки (в нашем случае - 6 символов)
   ReleaseDC(0,ScreenDC);
 end;
 
 begin
   name_on_screen;
 end.
 

Надеюсь, кому-то это пригодиться, хотя бы ради развлечения =). Но смотрите - не перетрудитесь!




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ