在DLL中怎么样知道调用它的主窗体的变化?(希望能给出代码)(200分)

  • 主题发起人 主题发起人 lbsong
  • 开始时间 开始时间
发送一个自定义的消息
 
您大慈大悲,再给一点提示好不好
 
没有人会吗?
 
可惜啊,200分
 
把分分了吧。
 
I want to know
 
T_ProvaChild = procedure (ParentApplication: TApplication; ParentForm: TForm); stdcall;

var
; ;DllHandle: THandle;
; ;ProcAddr: FarProc;
; ;ProvaChild: T_ProvaChild;
begin ;
; ;DllHandle := LoadLibrary('DllMdiChildForm');
; ;ProcAddr := GetProcAddress(DllHandle, 'ProvaChild');
; ;if ProcAddr <> nil then
; ;begin
; ; ; ProvaChild := ProcAddr;
; ; ; ProvaChild(Application,Self);
; ;end;
end;
 
房客,你好,你大概理解错我的意思了,我的意思是说:DLL主动得知窗体的变化,也就是说
我现在并不知道哪一个主窗体调用它,更不知道以何种方式调用。我听别人说是要用到钩子,但
我不会用
 
那你可以利用参数来
 
参数?不明白[?]
 
我的>>意思是说:DLL主动得知窗体的变化,也就是说
; ; ; ; ; ; ; ; ; ;~~~~~~~~~~~~~~~~~~ ;
>>我现在并不知道哪一个主窗体调用它,更不知道以何种方式调用。我听别人说是要用到钩子

如果是主动得知的话确实是需要用钩子。 HOOK函数如果写在程序进程内。只能得到
本进程内的消息。 钩子写到DLL里才可以得到系统全部消息。
你这个钩子是需要写到DLL内的。主窗变化时发出消息,DLL响应就可以了
 
Ok,就这样算了吧,尽管还是不太明白Hook怎么来用
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
913
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部