又是超难问题,还是消息拦截的!(100分)

  • 主题发起人 主题发起人 cqwty
  • 开始时间 开始时间
C

cqwty

Unregistered / Unconfirmed
GUEST, unregistred user!
对于有窗体已经最小化到任务栏或者隐藏了窗体的程序,如何拦截相关的消息?我的消息拦截代码拦截不了了。有窗体在桌面上的时候可以拦截,但是最小化到任务栏就没辙了!高手赐教了。
 
自己顶一下,把问题提前!
 
句柄在就可以收到消息呀
 
捕获最大化和最小化菜单按钮的单击
如果你想要用户最大化或最小化一个 Delphi 窗体时有所反应,使用下面的代码:
...
public
procedure WMSysCommand (var Msg: TWMSysCommand) ;message WM_SYSCOMMAND;
...
implementation
...
procedure TForm1.WMSysCommand;
begin
if (Msg.CmdType = SC_MINIMIZE) or (Msg.CmdType = SC_MAXIMIZE) then
MessageBeep(0) ;
DefaultHandler(Msg) ;
end;
原文名称:Capture Maximize/Minimize Menu button click
原文地址:http://delphi.about.com/cs/adptips1999/a/bltip0999_4.htm
 
我想也是,只要句柄在,肯定能拦截,可是就是不行,不知道为什么。我做的是拦截别的应用程序的。也就是说,拦截程序和被拦截程序是分开的。
to 北丐洪七:
我要拦截的不是最大化最小化这个消息,而是要拦截当窗口最小化到任务栏后,这个窗口里面发生的消息,比如窗口上面的按钮从不可用的灰色变为可用的。
 
使用那个高达[red]白何愁[/red]的HOOKAPI可以轻松实现
你HOOK了postmessage,sendmessage两个API,判断一下是否发去你说的程序里面就可以了。
具体可以看看老白的帖
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3585537
 
应该可以。
 
不了了之的帖子,发分了!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
571
import
I
后退
顶部