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

09.12.2008, 04:12
|
|
Познающий
Регистрация: 22.07.2008
Сообщений: 62
Провел на форуме: 304390
Репутация:
172
|
|
Сообщение от IcEnd
Да вот нашел статейку.
Но спасибо, щас попробую.
joiner...
Или же проще Ctrl+F9
|
|
|

09.12.2008, 05:38
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
Сообщение от WAR!9G
Такой вот вопрос назрел - использую winapi, пишу программу для автоматизации конкретных действий. Функцией FindWindow нашёл окно программы. FindWindowEx - нашёл панель и в конце концов интересующий обьект. Теперь камень преткновения - имеется объект класса SysListView32 который в себе, содержит определённое количество строк. Требуется выполнить двойной щелчок по каждой из строк.
Пробовал что то вроде:
Код:
SendMessage(Wnd, WM_LBUTTONDBLCLK, 2,0);
...но почему то не срабатывает. Может кто имел дело?
А ГетЛастЕррор что говорит?
|
|
|

09.12.2008, 22:08
|
|
Участник форума
Регистрация: 24.06.2007
Сообщений: 299
Провел на форуме: 467372
Репутация:
212
|
|
А ГетЛастЕррор что говорит?
GetLastError возвращает 0 - ошибок нет. Ещё вся фишка в том что всякие ListView_DeleteItem,
ListView_GetItemCount и прочее команды работают. А вот выделит строку ну никак не получается, пробовал через:
Код:
ListView_SetItemState(Wnd, 2, LVIS_SELECTED, LVIS_SELECTED);
аддишн - в конце концов дошёл до такого варианта:
Код:
ListView_SetExtendedListViewStyle(Wnd,LVS_EX_FULLROWSELECT);
ListView_SetItemState(Wnd, -1, 0, LVIS_SELECTED);
ListView_SetItemState(Wnd, 1, LVIS_SELECTED, LVIS_SELECTED);
ListView_Update(Wnd,1);
Ну и тут не всё слава богу, теперь выделяется категорически всё - и что нужно и что не нужно. 
Последний раз редактировалось WAR!9G; 09.12.2008 в 22:27..
|
|
|

09.12.2008, 22:14
|
|
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
Провел на форуме: 6128108
Репутация:
445
|
|
Вывод капчи на делфи!
Сабж! Но есть одно но! Если смотреть путь до картинки (капчи) то он меняеться всю время! Как реализовать с таким моментом???
Просьба еще с примером!!!!!!!
|
|
|

09.12.2008, 22:23
|
|
Участник форума
Регистрация: 24.06.2007
Сообщений: 299
Провел на форуме: 467372
Репутация:
212
|
|
Функцией POS парсишь веб страницу на предмет ссылки на капчу. Ну а далее просто скачиваешь её как файл с изображением.
Код:
uses Wininet;
function GetInetFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(fileURL),nil,0,0,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
Использование:
Код:
var FileOnNet, LocalFileName: string
begin
FileOnNet:='http://www.pentagon.com/export/capcha.php?id=53834';
LocalFileName:='antichat.bmp';
if GetInetFile(FileOnNet,LocalFileName)=True then
ShowMessage('Download successful')
else
ShowMessage('Error in file download')
end;
После того как картинка оказалась у тебя в папке, загружаешь её в программу через компонент TImage.
|
|
|

10.12.2008, 10:40
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
1) считываешь страницу в буфер
2) капчу отпарсить лучше по тегам уникальным, т.е если
<img src="/folder/script.php?param=1122233">
то ищи /folder/script.php а затем копируй всё до "
3) для отображения капчи лучше юзай компонент WebBrowser потому как капчи могут быть и bmp и gif (анимационные) и jpeg и png и даже flash
|
|
|

11.12.2008, 08:12
|
|
Новичок
Регистрация: 21.05.2007
Сообщений: 10
Провел на форуме: 11295
Репутация:
3
|
|
Привет народ! Кто знает есть у компонента IdPOP3 функция - как узнать кол-во новых сообщений на сервере? (не всех а именно новых, которые не прочтены). Или может быть посоветуете другой компонент???
|
|
|

11.12.2008, 22:29
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 99
Провел на форуме: 613745
Репутация:
51
|
|
Пытаюсь залогиниться в 4files.net, но почему-то не выходит. Вот код, как пытался войти. В чём ошибочка?
Код:
list := TStringList.Create;
list.Add('log=Логин');
list.Add('pass=Пароль');
list.Add('mem=1\0');
str:=IdHTTP1.Post('http://4files.net/?act=login',list);
|
|
|

11.12.2008, 22:34
|
|
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
Провел на форуме: 6128108
Репутация:
445
|
|
str:=IdHTTP1.Post('http://4files.net/?act=login',list);
попробуй
IdHTTP1.Post('http://4files.net/?act=login',list);
то есть не присваивай
но могу ошибаться
|
|
|

11.12.2008, 22:38
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от lll6
Пытаюсь залогиниться в 4files.net, но почему-то не выходит. Вот код, как пытался войти. В чём ошибочка?
Код:
list := TStringList.Create;
list.Add('log=Логин');
list.Add('pass=Пароль');
list.Add('mem=1\0');
str:=IdHTTP1.Post('http://4files.net/?act=login',list);
тоже должно лежать в TSTringList;
,
Не забывай про куки.
Глянь ответ сервера, также возможен редирект.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|