29-01-2013, 05:11 PM
الحمد لله ... اخيراً استطعت عمل هووك لدالة CreateWindowEx و CreateWindowExA و CreateWindowExW
هذا هو الكود
... القاكم في إستفساار آخر P:
شكراً لك استااذ SMP3 على المسااعدة ..
هذا هو الكود
... القاكم في إستفساار آخر 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 على المسااعدة ..

