Здесь был Я
|
Письмо пользователя в группу технической поддержки сетевой игры "Квейк":
"Я нашел глюк. Прямо посреди сцены во время игры постоянно зависают пять ботов."
Ответ группы поддержки:
"Это не глюк. Это не зависают пять ботов, это играет команда финов."
|
Откуда пошла привычка у людей - везде оставлять свои автографы - остаётся только догадываться. Скорее всего, мы это позаимствовали с наскальных рисунков эпохи неолита. Но это в прошлом, а сейчас мы попытаемся оставить след о себе уже в компьютерном варианте.
- Добавляем своё имя в 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.
|
Надеюсь, кому-то это пригодиться, хотя бы ради развлечения =). Но смотрите - не перетрудитесь!
|