800分解决以下问题: (详情见帖)

cmain83 2003-11-11 10:03:42
1、如何截取点击任务栏上“快速启动”栏的“显示桌面”按钮的消息(也就是按快捷键
WIN + D)(具体是什么消息,消息的各参数所代表的意义)

2、如何截取桌面重画的消息(具体是什么消息,消息的各参数所代表的意义)

3、如何使桌面重画(发送什么消息或用什么函数?)

4、注册系统热键 ALT + A 的代码

5、如何截取最小化消息进行处理(注:我要做的是不让它最小化,而是做另外的处理)
(具体是什么消息,消息的各参数所代表的意义)
...全文
43 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzds2000 2003-11-14
  • 打赏
  • 举报
回复
顶。。。
lx47 2003-11-12
  • 打赏
  • 举报
回复
活活,这个要标记一下啊。
牛人。。。。
lchy20cn 2003-11-12
  • 打赏
  • 举报
回复
有趣
cmain83 2003-11-12
  • 打赏
  • 举报
回复
今天请假在外.

明天公司里再说..
delphipan 2003-11-11
  • 打赏
  • 举报
回复
关注

学习
nyf1220 2003-11-11
  • 打赏
  • 举报
回复
不会,郁闷
yudehui 2003-11-11
  • 打赏
  • 举报
回复
关于消息函数
本论坛的精华部分
和FAQ部分都有的
自己看看了
noil0125 2003-11-11
  • 打赏
  • 举报
回复
问题 5 只解决了一半.....


请各位测试一下:
点击窗口上的最小化按钮可以正确执行.

但是用另一种方法最小化:
用鼠标右键点击状态栏上的程序图标,在其弹出的菜单中点“最小化命令”,此时根本就没有产生
WM_SYSCOMMAND 消息
请问如何解决??
----------------------------------------------------------------------------------


让应用程序不显示在任务栏怎么样?
这样的话好像没问题了。
Application.Initialize;
Application.CreateForm(TForm1, Form1);
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
//增加的
Application.Run;
Seahilly 2003-11-11
  • 打赏
  • 举报
回复
up
cmain83 2003-11-11
  • 打赏
  • 举报
回复
顶...

主要还有1、2 两问
cmain83 2003-11-11
  • 打赏
  • 举报
回复
问题 5 只解决了一半.....


请各位测试一下:
点击窗口上的最小化按钮可以正确执行.

但是用另一种方法最小化:
用鼠标右键点击状态栏上的程序图标,在其弹出的菜单中点“最小化命令”,此时根本就没有产生
WM_SYSCOMMAND 消息
请问如何解决??
saien 2003-11-11
  • 打赏
  • 举报
回复
不简单
hkbarton 2003-11-11
  • 打赏
  • 举报
回复
好象已经有很多人回答了呢,我只说最后一个吧
要拦截最小化的消息,拦截WM_SYSCOMMAND就可以了,并检测它的wParam参数是不是SC_MINIMIZE,如是就为最小化事件发生,做相应的处理就可以了,但delphi中也有一个特殊的地方,那是因为它开发的每一个程序都有一个隐藏的Application,这个自己也有一个最小化事件(对应于点两次任务兰的最小化),你还需要在这里处理
rockswj 2003-11-11
  • 打赏
  • 举报
回复
第5个问题:
procedure WMSYSCOMMAND(var msg:TWMSYSCOMMAND);message WM_SYSCOMMAND;
procedure TForm1.WMSYSCOMMAND(var msg: TWMSYSCOMMAND);
begin
if msg.CmdType=SC_MINIMIZE then
begin
msg.Result:=0;
showmessage('不能最小化');
end else
inherited;
end;
cmain83 2003-11-11
  • 打赏
  • 举报
回复
楼上的,这种方法不行。。

进行处理后窗口还是会最小化。。
不信你试试。。
我要的是不让窗体最小化。
zhyanger 2003-11-11
  • 打赏
  • 举报
回复
对最小化消息进行处理
添加一个最小处理的过程
Procedure TFrmMain.AppMiniMized(Sender:TObject);
Begin
.........
End;
调用时
Application.OnMinimize:=AppMiniMized;
AppMiniMized(Nil);
flfljh 2003-11-11
  • 打赏
  • 举报
回复
学习ing
cmain83 2003-11-11
  • 打赏
  • 举报
回复
还请各位大侠帮忙做做 1、2、5 这个问题

小弟先谢了。。
在线等待中................
efsnake 2003-11-11
  • 打赏
  • 举报
回复
学习ing
cmain83 2003-11-11
  • 打赏
  • 举报
回复
问题3已经解决... (谢谢 aiirii(ari) )
加载更多回复(23)

5,402

社区成员

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

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