HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3261  
Старый 11.04.2009, 20:04
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

а чем TTimer не подходит?
вообще можно усыплять прогу на нужное время по истечению которого она будет выполнять нужные действия.
 
Ответить с цитированием

  #3262  
Старый 11.04.2009, 20:16
miqo
Познающий
Регистрация: 18.11.2008
Сообщений: 95
Провел на форуме:
270938

Репутация: 0
По умолчанию

программа написана на api класс forms не включен
 
Ответить с цитированием

  #3263  
Старый 11.04.2009, 21:36
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

Репутация: 119
По умолчанию

miqo, может sleep()?
 
Ответить с цитированием

  #3264  
Старый 11.04.2009, 22:51
miqo
Познающий
Регистрация: 18.11.2008
Сообщений: 95
Провел на форуме:
270938

Репутация: 0
По умолчанию

2 criz

а там же много разных процедур и у каждых разные интервалы.......в книге делфи глазами хакера есть исходник кейлоггера я хочу узхнать как можно сделат такое именно в таком кейлоггере
 
Ответить с цитированием

  #3265  
Старый 11.04.2009, 23:04
KaZ@NoVa
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме:
3134311

Репутация: 1467


Отправить сообщение для KaZ@NoVa с помощью ICQ Отправить сообщение для KaZ@NoVa с помощью AIM Отправить сообщение для KaZ@NoVa с помощью Yahoo
По умолчанию

Цитата:
Сообщение от miqo  
подскажите как сделать чтобы через заданный промежуток времени программа выполняла команды,но без TTimer а.например через каждые 3 часа отправляла лог или проверяла подключен ли интернет или размер файла лога.....
Можно написать скрипт на чём нибудь, допустим на том же JScript(просто не надо его воспринимать только как язык для инета). там в событии onload забить скажем каждый нужный интервал времени, и после него ставить выполнение нужной программы.
лично я это не делал, но знаю что можно
 
Ответить с цитированием

  #3266  
Старый 11.04.2009, 23:26
miqo
Познающий
Регистрация: 18.11.2008
Сообщений: 95
Провел на форуме:
270938

Репутация: 0
По умолчанию

Цитата:
Сообщение от KaZ@NoVa  
Можно написать скрипт на чём нибудь, допустим на том же JScript(просто не надо его воспринимать только как язык для инета). там в событии onload забить скажем каждый нужный интервал времени, и после него ставить выполнение нужной программы.
лично я это не делал, но знаю что можно
интерестное решение ео в моем случае неудобное......
 
Ответить с цитированием

  #3267  
Старый 12.04.2009, 10:54
art2222
Участник форума
Регистрация: 28.04.2008
Сообщений: 172
Провел на форуме:
1191083

Репутация: 270
Отправить сообщение для art2222 с помощью ICQ
По умолчанию

Цитата:
подскажите как сделать чтобы через заданный промежуток времени программа выполняла команды,но без TTimer а.например через каждые 3 часа отправляла лог или проверяла подключен ли интернет или размер файла лога.....
Класс

Код:
unit WaitThread;

interface

uses Classes, Windows;

type
TWaitThread = class(TThread)
   WaitUntil: TDateTime;
   procedure Execute; override;
end;

implementation

uses SysUtils;

procedure TWaitThread.Execute;
var
Timer: THandle;
SystemTime: TSystemTime;
FileTime, LocalFileTime: TFileTime;
begin
Timer := CreateWaitableTimer(NIL, FALSE, NIL);
try
   DateTimeToSystemTime(WaitUntil, SystemTime);
   SystemTimeToFileTime(SystemTime, LocalFileTime);
   LocalFileTimeToFileTime(LocalFileTime, FileTime);
   SetWaitableTimer(Timer, TLargeInteger(FileTime), 0, 
     NIL, NIL, FALSE);
   WaitForSingleObject(Timer, INFINITE);
finally
   CloseHandle(Timer);
end;
end;

end.
Использовать можно так:

Код:
type
TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
private
   procedure TimerFired(Sender: TObject);
end;

//.....

implementation

uses WaitThread;

procedure TForm1.Button1Click(Sender: TObject);
var
T: TDateTime;
begin
with TWaitThread.Create(TRUE) do
begin
   OnTerminate := TimerFired;
   FreeOnTerminate := TRUE;
   // Срок ожидания закончится через 5 секунд
   WaitUntil := Now + 1 / 24 / 60 / 60 * 5;
   Resume;
end;
end;

procedure TForm1.TimerFired(Sender: TObject);
begin
	ShowMessage('Timer fired !');
end;
(c) DRKB
 
Ответить с цитированием

  #3268  
Старый 12.04.2009, 19:05
f0rward
Новичок
Регистрация: 26.10.2008
Сообщений: 15
Провел на форуме:
126398

Репутация: 6
По умолчанию

Помогите пожалуйста, как запустить на одновременное выполнение сразу n потоков?
Весь код потока лежит в процедуре TNewThread.Execute;, имеется также процедура show для вывода информации. Пробовал сделать просто цикл вида :
Код:
procedure TForm1.sButton1Click(Sender: TObject);
begin
  sButton1.Enabled:=false;
  for i:=1 to 50 do
    NewThread:=TNewThread.Create(true);
    NewThread.FreeOnTerminate:=true;
    NewThread.Priority:=tpLOWER;
    NewThread.Resume;
  end;
end;
, но по-моему это бред, т. к. тогда все потоки будут делать тоже самое.В общем кто знает, помогите реализовать.
 
Ответить с цитированием

  #3269  
Старый 12.04.2009, 19:11
_Kris_
Познающий
Регистрация: 22.07.2008
Сообщений: 62
Провел на форуме:
304390

Репутация: 172
По умолчанию

Цитата:
Сообщение от f0rward  
Помогите пожалуйста, как запустить на одновременное выполнение сразу n потоков?
Весь код потока лежит в процедуре TNewThread.Execute;, имеется также процедура show для вывода информации. Пробовал сделать просто цикл вида :
Код:
procedure TForm1.sButton1Click(Sender: TObject);
begin
  sButton1.Enabled:=false;
  for i:=1 to 50 do
    NewThread:=TNewThread.Create(true);
    NewThread.FreeOnTerminate:=true;
    NewThread.Priority:=tpLOWER;
    NewThread.Resume;
  end;
end;
, но по-моему это бред, т. к. тогда все потоки будут делать тоже самое.В общем кто знает, помогите реализовать.
Создаешь массив потоков aka TTHREAD, a[i] в цикле выполняешь свои действия...
 
Ответить с цитированием

  #3270  
Старый 12.04.2009, 21:39
f0rward
Новичок
Регистрация: 26.10.2008
Сообщений: 15
Провел на форуме:
126398

Репутация: 6
По умолчанию

_Kris_, напиши процедуру пожалуйста, я не понял.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ