ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

27.09.2008, 10:25
|
|
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
Провел на форуме: 1240829
Репутация:
165
|
|
мне надо определить тип переменной в процессе работы проги, текстовый он или числовой. есть такой оператор?
и ещё даже когда я помещаю потенциально "опасный" код в блок try ... except on EConvertError do ... end; то у меня всё равно вылазиет ошибка конвертации!
|
|
|

27.09.2008, 10:58
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от cremator (c)
мне надо определить тип переменной в процессе работы проги, текстовый он или числовой. есть такой оператор?
и ещё даже когда я помещаю потенциально "опасный" код в блок try ... except on EConvertError do ... end; то у меня всё равно вылазиет ошибка конвертации!
ещё даже когда я помещаю потенциально "опасный" код в блок try ... except on EConvertError do ... end; то у меня всё равно вылазиет ошибка
Скорее всего у тебя вылазиет ошибка под отладчиком, после компиляции такого быть не должно...
|
|
|

28.09.2008, 00:36
|
|
Новичок
Регистрация: 26.09.2008
Сообщений: 5
Провел на форуме: 28246
Репутация:
5
|
|
Здравствуйте! Есть вопросик программисты, посоветуйте plz.
Исходные данные:
имеется некая работающая прога, для которой необходимо отслеживать факт изменения картинки на экране (будет реализовано скорее всего через несколько последовательных вызовов GetPixel), считаем, что "картинка" меняется со случайными интервалами во времени.
Для конкретизирования примера пусть необходимо отслеживать наличие конкретной кнопки (изображения) в определенном месте браузера (допустим Explorer).
Вопрос:
как лучше отслеживать изменение картинки?
{грузить систему проверками по таймеру не хочется}
|
|
|

28.09.2008, 01:16
|
|
Новичок
Регистрация: 21.09.2008
Сообщений: 16
Провел на форуме: 249855
Репутация:
52
|
|
eNGi, да, действительно, ты правильно мыслишь. Разумно нужно отказаться от вызовов GetPixel() (Если изображение не больше 320х240, а лучше и еще меньше). Чтобы разобраться прочти, работёнка тебе продстоит большая, написано много
http://forum.sources.ru/index.php?showtopic=240312&hl=
http://www.delphimaster.ru/articles/pixels/index.html
Вариант2. Использовать неуправляемую память куда будут помещены данные изображения, то работать всё будет быстро (в сети сам найдешь по этомой теме информацию поисковиком).
На С# же мелкомягкие предусмотрели функции System.Drawing.Imaging.BitmapData.Scan0() и System.Runtime.InteropServices.Marshal.Copy(), скорость использования которых выше, чем вызов GetPixel()и SetPixel().
|
|
|

28.09.2008, 12:38
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме: 905389
Репутация:
332
|
|
может ктонибудь дать готовый пример Icq реализованный на компонентах и желательно (хотелось бы разобрать) реализацию на сокетах без компонентов.
желательно чтоб в примерах были все функции))
Зарание благодарю!
p.s. за помощь не обижу)
Последний раз редактировалось KIR@PRO; 28.09.2008 в 12:45..
|
|
|

28.09.2008, 12:46
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от KIR@PRO
может ктонибудь дать готовый пример Icq реализованный на компонентах и желательно (хотелось бы разобрать) реализацию на сокетах без компонентов.
желательно чтоб в примерах были все функции))
Зарание благодарю!
p.s. за помощь не обижу)
Карась тут выкладывал контрол для работы с этим протоколом, все исходные коды в архиве...
но правда он пишет на VB 
|
|
|

28.09.2008, 13:25
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме: 905389
Репутация:
332
|
|
ммм VB не очень люблю) хотелось бы на Delphi искал но ничего хорошего не нашел(
все нашел) кому надо вот: http://forum.asechka.ru/showthread.php?t=97186
там огромная темка про ето множество реализаций)
Последний раз редактировалось KIR@PRO; 28.09.2008 в 13:39..
|
|
|

28.09.2008, 14:23
|
|
Новичок
Регистрация: 21.09.2008
Сообщений: 16
Провел на форуме: 249855
Репутация:
52
|
|
KIR@PRO, есть очень хорошая статься (10 уроков) по написанию icq2000 в делфи http://www.delphisources.ru/pages/faq/base/icq2000_1.html . Реализация на компонентах http://www.delphiexpert.ru/view_download.php?id=89 . Так же прочитай, много полезного пишут http://forum.asechka.ru/showthread.php?t=97186
|
|
|

28.09.2008, 19:37
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме: 905389
Репутация:
332
|
|
спасибо но возикает вопрос а там предусмотрено то что протокол Icq опять изменён???
|
|
|

28.09.2008, 19:37
|
|
Познающий
Регистрация: 06.09.2006
Сообщений: 94
Провел на форуме: 397064
Репутация:
15
|
|
Попробывал сделать с хотки но все бы хорошо но с игрой не работает. Блокнот закрывает. Все закрывает, но как только запускаешь игру - не хочет работать. Вообще ни как не реагирует.
В чем может быть дело? подскажите или придется все же делать хук? Тогда помогите с хуком ибо уже неделю не могу сделать.
PHP код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
Tlhelp32;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
public
{ Public declarations }
end;
const
hotkey1 = ord ('1');
hotkey2 = ord ('2');
hotkey3 = ord ('3');
hotkey4 = ord ('4');
hotkey5 = ord ('5');
hotkey6 = ord ('6');
hotkey7 = ord ('7');
hotkey8 = ord ('8');
hotkey9 = ord ('9');
hotkey10 = ord('0');
var
Form1: TForm1;
implementation
{$R *.dfm}
function KillTask(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot
(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,
FProcessEntry32);
while integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(OpenProcess(
PROCESS_TERMINATE, BOOL(0),
FProcessEntry32.th32ProcessID), 0));
ContinueLoop := Process32Next(FSnapshotHandle,
FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
function EnumMiniProc (Wd: HWnd; Param: LongInt): Boolean; stdcall; // Îáÿçàòåëüíî stdcall !!!
Begin
If Wd<>Form1.Handle then // åñëè ýòî íå íàøà ïðîãðàììà
If IsWindowVisible(WD) then // åñëè îêíî âèäèìî
If not IsIconic(WD) then // åñëè îêíî íå ñâåðíóòî
If isWindow(WD) then // è âîîáùå ýòî - îêíî.
ShowWindow(WD, SW_MINIMIZE); // ñâåðíåì åãî.
end;
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
EnumWindows (@EnumMiniProc, 0); // îòðàáàòûâàåì ñâîðà÷èâàíèå îêîí.
Sleep(1000);
KillTask('CabalMain.exe');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle, 1,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey1);
RegisterHotKey(Form1.Handle, 2,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey2);
RegisterHotKey(Form1.Handle, 3,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey3);
RegisterHotKey(Form1.Handle, 4,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey4);
RegisterHotKey(Form1.Handle, 5,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey5);
RegisterHotKey(Form1.Handle, 6,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey6);
RegisterHotKey(Form1.Handle, 7,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey7);
RegisterHotKey(Form1.Handle, 8,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey8);
RegisterHotKey(Form1.Handle, 9,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey9);
RegisterHotKey(Form1.Handle, 10,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey10);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Form1.Handle,1);
RegisterHotKey(Form1.Handle, 2,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey2);
RegisterHotKey(Form1.Handle, 3,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey3);
RegisterHotKey(Form1.Handle, 4,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey4);
RegisterHotKey(Form1.Handle, 5,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey5);
RegisterHotKey(Form1.Handle, 6,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey6);
RegisterHotKey(Form1.Handle, 7,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey7);
RegisterHotKey(Form1.Handle, 8,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey8);
RegisterHotKey(Form1.Handle, 9,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey9);
RegisterHotKey(Form1.Handle, 10,MOD_SHIFT + MOD_ALT + MOD_CONTROL,hotkey10);
end;
end.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|