Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хочу часы в икрушках, а то заигрываюсь :) [D1, D2, D3, D4, D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


Страницы:   1 2

c@n ©   (2003-03-05 13:10:00) 

Народ ни кто не писал на делфе часы которые висят поверх всего и при этом не глюкают ВЫГЛЯДИТ это в таймере panel1.paintto(getdc(0),0,0) Мои клоки жутко моргают и система начинает торм-торм-тормоzить
на панели отображатся время


dimosha   (2003-03-13 10:36:00) [1]

http://www.org-six.narod.ru
Ставь программку... она тебя из любой игры вернет в нужное время, а может и комп выключить... и еще всего там много полезного... рекомендую!


Style   (2003-03-11 19:36:00) [2]

У меня вроде работает все :)

program Timer;

uses
Windows,
sysutils;

function WinMain(hInstance : HINST; hPrevInstance : HINST;
lpCmdLine : PChar; nCmdShow : Integer) : Integer; stdcall;
Var
DC : HDC;
tm: string;
rc: TRect;
visible: boolean;
begin

Visible := true;
repeat
if(Visible)
then
begin
DC := GetDC(0);
SetTextColor(DC,RGB(255,255,255));
SetBkColor(DC,RGB(110,64,255));

rc.Left := 4;
rc.Top := 4;
rc.Bottom := 18;
rc.Right := 100;

tm := FormatDateTime("hh:nn:ss.zzz",time);
DrawText(DC,pchar(tm), Length(tm),rc,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
DeleteObject(dc);
end;
Sleep(1);

if (GetAsyncKeyState(VK_MENU) < 0) and (GetAsyncKeyState(Integer("Q")) < 0) then Halt(0);

if (GetAsyncKeyState(VK_MENU) < 0) and (GetAsyncKeyState(Integer("H")) < 0) then
begin
if(not visible) then visible := true else visible := false;
end;;
until nCmdShow = -1;

result := 0;
end;


begin
WinMain( hInstance, hPrevInst, CmdLine, CmdShow );
end.


DVM   (2003-03-10 09:34:00) [3]


> Подожди а как же настройка в свойствах видеокарты "показывать
> логотип "
> или я путаю ?

Так это не у всех видюх.


Snap   (2003-03-09 16:17:00) [4]

Тормоза начинаются с 10 фпсов обновления надписи. :))) Кстати длинный способ в халфе не работает почему- то, а тот короткий, который через холст, работает превосходно, как ни странно. А прозрачный фон надписи в нём делается так же как в длинном способе. (просто мне не понравилось то что надпись на одноцветноф фоне, и я попытался это убрать (и получилось :)) )).


Dobriy   (2003-03-09 15:53:00) [5]

Значения нужно подбирать по скорости машины.
Мерцание можно свести до минимума но при этом fps в игре может уменьшится и начнутся тормоза.


AlexKniga   (2003-03-09 13:48:00) [6]

Выдержка из FAQ к Fraps www.fraps.com/faq.htm#coders :

Can I get the source to Fraps?

I’m unable to release the source to Fraps <...>. However there’s nothing to stop you reverse engineering the program yourself, <...>.


JibSkeart   (2003-03-08 16:19:00) [7]

DVM © (05.03.03 14:53)

Подожди а как же настройка в свойствах видеокарты "показывать логотип "
или я путаю ?


X3coder   (2003-03-07 14:47:00) [8]

Если делать под конкретную гамесу или определённый ряд гамес, то можно и без мерцания сделать... Тока это нужно быть очень умным... Это, типа прога будет использовать экран гамесы... Я конечно в этом ничего не понимаю, но для CS есть чита, которая поверх всего накладывает прицел, который не разъежается при стрельбе...
Ну вобщем мне больше нравится "китайский будильник + клей "Момент" + монитор" :))


Alexandr B.   (2003-03-07 13:31:00) [9]


> Dobriy (07.03.03 10:08)
> Alexandr B. и pasha676 эта функция работает всегда!!!
> Нужно только подобрать оптимальное значение for A:=0 to
> 500 и sleep(10) .

Мигания вы все равно не избежите.


pasha676   (2003-03-07 10:53:00) [10]


> Alexandr B. и pasha676 эта функция работает всегда!!!
> Нужно только подобрать оптимальное значение for A:=0 to
> 500 и sleep(10) .


Для каждой игры это подбирается или для каждой конфигурации компа?


Dobriy   (2003-03-07 10:08:00) [11]

Alexandr B. и pasha676 эта функция работает всегда!!!
Нужно только подобрать оптимальное значение for A:=0 to 500 и sleep(10) .


Manulo   (2003-03-06 18:27:00) [12]


> китайский будильник + клей "Момент" + монитор :)

И главное глюков не будет (пока не сядут батарейки), Система будет нормально функционировать даже после выключения питания и самое главное: будет таймер, который сработает независимо от наличия напряжения в сети компьютера :)


Баск   (2003-03-06 17:55:00) [13]

китайский будильник + клей "Момент" + монитор :)


S.P.I.R.I.T   (2003-03-06 17:35:00) [14]

Предлагаю следующий способ

procedure drawonscreen(params: string);
Var
Desktop: TCanvas;
begin
Desktop:=TCanvas.Create;
Desktop.Handle:=GetDC(0);
Desktop.Brush.Color := clblue;
Desktop.Font.Color := clwhite;
Desktop.Font.Name := "Arial Black";
Desktop.Font.Size := 16;
Desktop.TextOut(Screen.Width div 4,screen.Height div 4,params);
Desktop.Destroy;
end;

эта процедура выводит текст по верх всего
проверял в Counter Strike, Diablo II работает

Спасибо за внимание!!!!!!!


pasha676   (2003-03-06 17:11:00) [15]

2Dobriy

Даже при запуске пинбола виндусевого не работает. О полно экранниках я и не говорю. Там GetDC(0) - это слабая припарка.


Alexandr B.   (2003-03-06 17:07:00) [16]


> Dobriy (06.03.03 10:46)

Прям уж поверх всех? :)

Автору вопроса.
Неужели у вас настолько большой монитор что бы загромождать его рабочее пространство подобными вещами? Может задуматься о будильнике.


Dobriy   (2003-03-06 10:46:00) [17]

Вот эта функция выводит любой текст поверх всех игр

procedure soob(text:string);
var
DesktopCanvas:TCanvas;
DC:HDC;
MyRect:TRect;
SizeX,SizeY,SX,a: Integer;
XText:PChar;
begin
XText:=PChar(text);
DesktopCanvas:=TCanvas.Create;
DC:=GetDC(0);
DesktopCanvas.Handle:=DC;
DesktopCanvas.Font:=gl.FontDialog1.Font;
SelectObject(DC,gl.FontDialog1.Font.Handle);
Windows.SetTextColor(DC,gl.FontDialog1.Font.Color);
SizeX:=0; SizeY:=DesktopCanvas.TextHeight(text);
SX:=DesktopCanvas.TextWidth(text);
if SX>SizeX then SizeX:=SX;
MyRect:=Rect(0,0,SizeX,SizeY);
for A:=0 to 500 do
begin
SetBkMode(DC,TRANSPARENT);
MyRect:=Rect(0,0,SizeX,SizeY);
DrawText(DC,XText,length(XText),MyRect,DT_left );
sleep(10);
//application.ProcessMessages ;
end;
ReleaseDC(0,DC);
end;


pasha676   (2003-03-06 10:16:00) [18]

2mikl2002
И что работает во всех игрухах? Не верю!!!


mikl2002   (2003-03-06 09:36:00) [19]

pasha676
А кто мешает в opengl или direcx выводить?
Как например fraps программка работает- показывает
fps в игрухах


pasha676   (2003-03-06 09:30:00) [20]

Я все же думаю что поверх полноэкранного ОпенГЛ или ДиректХа в игрушках фиг че выведешь. Будильник рядом с компом будет практичней.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо