关于窗体消息拦截的问题~~

000008 2004-05-03 11:44:08
var
Form1: TForm1;
hHook:dword;
lpPrevWndProc:FARPROC;


implementation

{$R *.dfm}

function InstallHook(hwnd:HWND): dword; external 'HookDll.dll';
function GetPsw: dword; external 'HookDll.dll';
procedure UninstallHook ; external 'HookDll.dll';


procedure unhook ;
begin
UninstallHook ;
SetWindowLong(form1.Handle ,GWL_WNDPROC, longint(lpPrevWndProc)) ;
end;

function MyProc(Hwnd:HWND;iCode:UINT;wParam:WPARAM;lParam:LPARAM):integer; //stdcall;
begin
Result := 0 ;
if hHook=0 then
begin
hHook:= InstallHook(Hwnd);
end
else if icode=$406 then
begin
SendMessage ( form1.edit1.handle , WM_SETTEXT, 255, GetPsw) ;
exit ;
end
else if icode =$10 then
unhook;
result:=CallWindowProc(lpPrevWndProc,Hwnd,iCode,wParam,lParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
VAR
rect:TRECT ;
begin
GetWindowRect(form1.Handle ,rect) ;
SetWindowPos(form1.Handle ,HWND_TOPMOST,rect.Left ,rect.Top ,0 ,0,SWP_SHOWWINDOW +SWP_NOSIZE) ;
lpPrevWndProc:= FARPROC(SetWindowLong(form1.Handle ,GWL_WNDPROC,longint(@MyProc))) ;
end;
end.
那个DLL里是获得窗体标题的几个函数~~~~用SetWindowLong过后在自己的消息处理那里老是出错~~~~不知道那里有问题~~~高手请指教!~谢谢~~~
...全文
93 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
000008 2004-05-04
  • 打赏
  • 举报
回复
~~~~CSDN的牛哥都不屑回答这种小问题~~~~无语~~~~~潜水员又多一个了~~~~
000008 2004-05-03
  • 打赏
  • 举报
回复
自己顶起来~~~!~~~~郁闷~~~

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧