[Delphi] WinAPI, *.dll

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Kandi, 12 Jul 2012.

  1. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Всем добрый день вот решил сделать hook.dll :) Но вот есть запарка она много весит 32 Кб. в dll присутствует 3-и функции. Я решил уменьшить размер dll методом вызова функций из библиотек user32.dll, т.е.:
    Code:
      function CallNextHookEx(hhk : HHOOK; nCode : Integer; wParam : Integer; lParam : Integer): Integer; stdcall; external 'user32.dll' name 'CallNextHookExA';
      function SetWindowsHookEx(idHook : Integer; lpfn : function(code : Integer; wParam : Integer; lParam : Integer): Integer; hMode : Cardinal; dwThreadId : Cardinal): HHOOK; stdcall; external 'user32.dll' name 'SetWindowsHookExA';
      function UnHookWindowsHookEx(hhk : HHOOK): Longbool; stdcall; external 'user32.dll' name 'UnHookWindowsHookExA';
    
    Всё бы хорошо, но во-первых: Я не понял как вызвать - SetWindowsHookEx у неё внутри имеется функция как её надо обозначить я что-то не допёр. Во-вторых я не получил ожидаемого результата, думал hook.dll будет весить примерно 1-5 Кб., но на деле она сбросила 11 кб. всего :( Почему так, кто может мне ответить? Реально ли уменьшить размер до желаемых - 1-5 Кб. ?
     
  2. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Скачать урезанные модули System/
    /
     
  3. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Спасибо, с вложенной функцией сам разобрался :)
     
    #3 Kandi, 12 Jul 2012
    Last edited: 12 Jul 2012