让窗体在执行了“显示桌面”以后仍旧显示在桌面上

阿道夫536

阿道夫536

2016-02-19 19:56

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的让窗体在执行了“显示桌面”以后仍旧显示在桌面上,手机电脑控们准备好了吗?一起看过来吧!
 

  昨天在DFW上看到一个问题,要求“使程序窗口置于最低层(在桌面上);点击“显示桌面”以后还是在桌面上”,琢磨了一下,实现了“让窗体在执行了‘显示桌面’以后仍旧显示在桌面上”,代码如下:

  unit Unit1;
  
  interface
  
  uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;
  
  type
    TForm1 = class(TForm)
    private
      { Private declarations }
      procedure WndProc(var Message: TMessage); override;  // 重载
    public
      { Public declarations }
    end;
  
  var
    Form1: TForm1;
  
  implementation
  
  {$R *.dfm}
  
  procedure TForm1.WndProc(var Message: TMessage);
  var
    WndPosFlag: Integer;
  begin
    if Message.Msg = WM_SHOWWINDOW then
    begin
      if Message.WParam = 0 then
      begin
        Exit;
      end;
    end;
    inherited;
  end;
  
  end.

  可是。。。。。。有个前提:窗体属性 FormStyle = fsStayOnTop 这个不可省。。。所以不能呆在所有窗体最后

  spy++跟了半天,还是没想明白为什么FormStyle属性为fxNormal的时候WM_SHOWWINDOW消息在程序里就截不到。。。而断点调试时能截到第一次,后面也再截不到了,神奇
  不管FormStyle为什么程序明明都收到了WM_SHOWWINDOW消息的(而且消息值也都相同)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  汗ing.....

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

让窗体在执行了“显示桌面”以后仍旧显示在桌面上

编程语言 网络编程
让窗体在执行了“显示桌面”以后仍旧显示在桌面上

QQ音乐在桌面上怎么显示歌词

电脑网络
QQ音乐在桌面上怎么显示歌词

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

win8图标怎么在桌面上显示?

windows系统
win8图标怎么在桌面上显示?

360天气怎么设置在桌面上显示

电脑网络
360天气怎么设置在桌面上显示

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在桌面上画图

编程语言 网络编程
在桌面上画图

我在桌面上删帖子

ASP
我在桌面上删帖子

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Excel 2007里面地两个实用新增功能

Excel 2007里面地两个实用新增功能

Delphi数据库应用程序中常见错误

Delphi数据库应用程序中常见错误
下拉加载更多内容 ↓