استفسار عن عمل هوك لدالة CreateWindowEx
#17
الحمد لله ... اخيراً استطعت عمل هووك لدالة CreateWindowEx و CreateWindowExA و CreateWindowExW
هذا هو الكود Smile ... القاكم في إستفساار آخر P:

PHP كود :
library Hook;

uses
  SysUtils
,
  
Classes,
  
uallHook,
  
Windows,
  
Dialogs;

var
  
CreateWindowExNext,PtrCreateWindowEx : function (dwExStyle: DWORD; lpClassName: PChar;
  
lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
  
hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall;

  
CreateWindowExANext,PtrCreateWindowExA : function (dwExStyle: DWORD; lpClassName: PAnsiChar;
  
lpWindowName: PAnsiChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
  
hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall;

  
CreateWindowExWNext,PtrCreateWindowExW : function (dwExStyle: DWORD; lpClassName: PWideChar;
  
lpWindowName: PWideChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
  
hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall;


function 
HookCreateWindowEx(dwExStyle: DWORD; lpClassName: PChar;
  
lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
  
hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall;
begin
  Result 
:= CreateWindowExNext(dwExStyle,lpClassName,lpWindowName,0,X,Y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam);
end;

function 
HookCreateWindowExA(dwExStyle: DWORD; lpClassName: PAnsiChar;
  
lpWindowName: PAnsiChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
  
hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall;
begin
  Result 
:= CreateWindowExANext(dwExStyle,lpClassName,lpWindowName,0,X,Y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam);
end;

function 
HookCreateWindowExW(dwExStyle: DWORD; lpClassName: PWideChar;
  
lpWindowName: PWideChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
  
hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;stdcall;
begin
  Result 
:= CreateWindowExWNext(dwExStyle,lpClassName,lpWindowName,0,X,Y,500,300,hWndParent,hMenu,hInstance,lpParam);
end;

begin
  PtrCreateWindowEx 
:= GetProcAddress(GetModuleHandle('user32'),'CreateWindowEx');
  
HookCode(@PtrCreateWindowEx,@HookCreateWindowEx,@CreateWindowExNext);

  
PtrCreateWindowExA := GetProcAddress(GetModuleHandle('user32'),'CreateWindowExA');
  
HookCode(@PtrCreateWindowExA,@HookCreateWindowExA,@CreateWindowExANext);

  
PtrCreateWindowExW := GetProcAddress(GetModuleHandle('user32'),'CreateWindowExW');
  
HookCode(@PtrCreateWindowExW,@HookCreateWindowExW,@CreateWindowExWNext);
end. 

شكراً لك استااذ SMP3 على المسااعدة ..
الرد


الردود في هذا الموضوع
استفسار عن عمل هوك لدالة CreateWindowEx - بواسطة ALmuhhnad - 29-01-2013, 05:11 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم