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
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 04.09.2009, 19:32
Ixidor
Новичок
Регистрация: 03.06.2009
Сообщений: 22
Провел на форуме:
48718

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

Не, это я знаю. Я хотел получить хендл одновременно с открытием=)
 
Ответить с цитированием

  #2  
Старый 04.09.2009, 23:17
AKYLA
Участник форума
Регистрация: 29.11.2007
Сообщений: 116
Провел на форуме:
283596

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

Flenov
Ну тогда попробуй это:

Код:
Function DownloadBFile(P: Pointer): Longint; Stdcall;
Const
  CrLf: String = #$0d+#$0a;
 Var
  Fn: String;
  F: File;
  GetOut: Boolean;
  WSAData: TWSAData;
  hp: phostent;
  a: tsockaddr;
  IpAddress,Buffer: String;
  Ts,Bs,Br,ContentLength,I: Integer;
  MySock: TSocket;
Begin
  Fn:=String(P^);
//  ShowMessage('Attempting To Download File '+Fn);
  WSAStartup($0101, WSAData);
  mysock := socket(AF_INET, SOCK_stream, ipproto_tcp);
  hp := gethostbyname('www.google.com'); //Сайт
  Sleep(40);
    if hp = nil then
      begin
//        ShowMessage('Could Not Resolve Name...');
        exit;
      end
    else
      begin
        for i := 0 to hp^.h_length - 1 do
          IPAddress:=IpAddress+IntToStr(Ord(Hp.h_addr_list^[i]))+'.';
          SetLength(IPAddress,Length(IPaddress)-1);
        end;
  a.sin_family := AF_INET;
  a.sin_port := htons(80);
  A.sin_addr.S_addr:=inet_addr(Pchar(IpAddress));
  I:=connect(mysock, a, sizeof(a));
  buffer:='GET /test/'+fn+' HTTP/1.0'+CrLF+'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*'+CrLF+'Accept-Language: en-au'+CrLF+'Accept-Encoding: gzip, deflate'+CrLF+'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'+CrLF+'Host: '+IpAddress+CrLF+'Cache-Control: no-cache'+CrLf+'Connection: Close'+CrLF+Crlf;
  I:=send(mysock, Buffer[1], Length(buffer), 0);
  Sleep(30);
  System.Assign(F,'c:\image.gif'); // Картинка куда сохранять
  System.Rewrite(F,1);
 ContentLength:=0;
 SetLength(Buffer,5048);
 FillChar(Buffer[1],Sizeof(Buffer),#0);
 BS:=recv(mysock, buffer[1], 5048,0);
 If (BS=Socket_Error) Or (BS=0) Then
   Exit;
 TS:=0;
 BS:=0;
 If (Copy(Buffer,1,15)='HTTP/1.1 200 OK') or (Copy(Buffer,1,15)='HTTP/1.0 200 OK') Then
  Begin
   Delete(Buffer,1,Pos('Content-Length:',Buffer)+15);
   ContentLength:=StrToInt(Copy(Buffer,1,Pos(#$0d+#$0a,Buffer)-1));
   Delete(Buffer,1,pos(#$0d+#$0a+#$0d+#$0a,Buffer)+3);
   Form1.ProgressBar1.Max:=ContentLength div 1024;
   If Trim(Buffer)<>'' Then
    Begin
     TS:=TS+Length(Buffer);
     BlockWrite(F,Buffer[1],Length(Buffer));
     SetLength(Buffer,5048);
    End;
  End
    else
   Exit;
 Repeat
   SetLength(Buffer,5049);
   BS:=recv(mysock, buffer[1], 5048,0);
   TS:=TS+Bs;
   Form1.ProgressBar1.Position:=TS div 1024;
   BlockWrite(F,Buffer[1],BS);
 Until (BS=0) OR (Socket_Error=BS) Or (GetOut=True);
 System.Close(F);
// Конец закачки;
End;

procedure TForm1.Button1Click(Sender: TObject);
Var
 Th: Thandle;
begin
 F:='mage.gif'; //Картинку которую качать
 CreateThread(Nil,0,@DownloadBFile,@F,0,Th);
end;
П.С, Дурак он на то и дурак, что ничего вообще не знает )))

Последний раз редактировалось AKYLA; 04.09.2009 в 23:20..
 
Ответить с цитированием

Кароче в школе задали
  #3  
Старый 05.09.2009, 08:54
shuba
Постоянный
Регистрация: 22.05.2009
Сообщений: 514
Провел на форуме:
3579051

Репутация: 133


Cool Кароче в школе задали

В школе задали написать на делфи консольный калькулятор, а мне делфи влом качать, да и комп не потянет((((У меня тетрис

вот кароче часть кода

Код:
Begin    writeln('vvedi chislo');  readkn(x.y);  writeln('vvedite deystvie');  readln (d)  if d='+' then z:= x+y
т.е сделать в общем надо простой калькулятор,но с сюрпризом...
ф-ции:
1)чтоб делил, складывал и умножал...больше ниче ненадо
2)Сюрприз заключаеться в том...чтобы когда кто нить на 0 делил...в консоле писалось ERROR и комп ребутался)))))

Если не трудно напишите пожалуто...если можно...скомпилируйте))))Буд очень благодарен!
 
Ответить с цитированием

  #4  
Старый 05.09.2009, 18:06
Ixidor
Новичок
Регистрация: 03.06.2009
Сообщений: 22
Провел на форуме:
48718

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

Никто не знает, как эмулировать нажатия клавиш в браузерную строку? Хендл окна браузера известен.
 
Ответить с цитированием

  #5  
Старый 05.09.2009, 19:33
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме:
1313455

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

Имхо смотреть надо в сторону SendMessage

RE: Кароче в школе задали

Скомпилированный калькулятор и исходники тут . После того как попробуют разделить на 0 сообщаем "Error ...", после чего ждем 2 секунды и shutdown.
 
Ответить с цитированием

  #6  
Старый 06.09.2009, 00:53
AKYLA
Участник форума
Регистрация: 29.11.2007
Сообщений: 116
Провел на форуме:
283596

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

Ixidor
Что-то типа такого для фаера

Код:
uses ddeman;
 
function GetURL(Browser: string): string;
var
 Client_DDE: TDDEClientConv;
 temp: PChar;
begin
 Result := '';
 Client_DDE:= TDDEClientConv.Create( nil );
 with Client_DDE do
  begin
   SetLink(Browser, 'WWW_GetWindowInfo');
   temp := RequestData('0xFFFFFFFF');
   Result := StrPas(temp);
  // Return only the URL part
   Delete(Result, Pos(',', Result), Length(Result)-Pos(',', Result)+1);
   // Remove quotes
   Delete(Result, 1, 1);
   Delete(Result, Length(Result), 1);
   // ************
   StrDispose(temp);
   CloseLink;
  end;
 Client_DDE.Free;
end;
 
procedure SetURL(URL, Browser: String);
var
  Client_DDE: TDDEClientConv;
begin
  Client_DDE := TDdeClientConv.Create(nil);
  with Client_DDE do
  begin
    SetLink( Browser, 'WWW_Activate' );
    RequestData('0xFFFFFFFF');
    SetLink( Browser, 'WWW_OpenURL' );
    RequestData(URL  + ',,0xFFFFFFFF,0x3,,,');
    CloseLink;
  end;
  Client_DDE.Free;
end;

//Вызов
SetURL('http://forum.sources.ru/','FireFox');
 
Ответить с цитированием

  #7  
Старый 06.09.2009, 13:09
UnknownZZZ
Новичок
Регистрация: 13.08.2009
Сообщений: 13
Провел на форуме:
65462

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

у меня такая проблемка,..как изменять свойства обьектов на форме из длл? есть програмка - монитор окон пишет в лог все имена окон, которые открывались и закрывались. На форме есть 2 кнопки, код монитора записан в длл, вот кусок
Код:
HCBT_DESTROYWND:      
begin  GetWindowText(WParam,@WindowName,MAX_PATH);     
if WindowName='' then exit;      
NewStr:='Window destoyed at '+GetTime;       NewStr:=NewStr+'. Window name '+WindowName+#13#10;       
if WindowName='NetSpeakerphone' then //ето условие определяет закрылось ли окно, 
надо ели закрылось, то спрятать кнопку на форме             
end;

Последний раз редактировалось UnknownZZZ; 06.09.2009 в 13:16..
 
Ответить с цитированием

  #8  
Старый 06.09.2009, 19:34
Kornero
Новичок
Регистрация: 31.12.2006
Сообщений: 25
Провел на форуме:
216389

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

Подскажите пожалуйста как подключить к проекту свои курсоры???!!!
Весь день бьюсь нихрена не выходит...
 
Ответить с цитированием

  #9  
Старый 06.09.2009, 19:40
Dosia
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме:
1313455

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

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  h: hcursor;
begin
  h := LoadCursorFromFile('C:\windows\cursors\sizenwse.ani');
  Screen.Cursors[1] := h;
  Form1.Cursor := 1;
end;
 
Ответить с цитированием

  #10  
Старый 06.09.2009, 20:32
Kornero
Новичок
Регистрация: 31.12.2006
Сообщений: 25
Провел на форуме:
216389

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

Не работает такой вариант...

пробовал и cur и ani файлы...выскакивает какая-то левая ошибка...

Access violation at address 00E390A4 in module 'MyDLL'. Read of address 0000007C.

Последний раз редактировалось Kornero; 06.09.2009 в 22:43..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



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


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




ANTICHAT.XYZ