关闭

Delphi 操作“任务栏”

标签: Delphi
978人阅读 评论(0) 收藏 举报
分类:

Delphi 操作“任务栏”

    一、windows任务栏常规
    1、通常编译好的文件,执行后在任务栏中,只显示一个主窗口的“标题框(带图标)”。不管你进入那一个子窗口,只显示主窗口的“标题框”
    2、程序通过进入托盘,只一托盘区显示一个图标,任务栏中,就隐藏了。
    3、如果想一开始就取消任务栏主窗口的“标题框” ,e 可在窗口的Creat事件中,加入代码:
   (1)Delphi7
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);  //隐藏
// SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_APPWINDOW);   //显示

SetWindowLong(Self.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
SetWindowLong(self.Handle,GWL_EXSTYLE,WS_EX_APPWINDOW);

   (2)在程序的.dpr文件中create窗体前加入:
Application.ShowMainForm:=false; // 隐藏窗口
// Application.ShowMainForm:=true;  // 显示窗口

   (3)修改工程文件DPR中的“Application.MainFormOnTaskbar := True;”为“Application.MainFormOnTaskbar := False;”
    在主窗体的 OnShow 事件中写下:ShowWindow(Application.Handle, SW_HIDE);


    二、Windows任务栏的操作
    1、隐藏Windows任务栏
procedure Tform1.Button1Click(Sender: TObject);
var wndHandle: THandle;                      //用于存储指定窗口的句柄
    wndClass: array[0..50] of Char;          //用于存储类名
begin
  strPCopy(@wndClass[0], 'Shell_TrayWnd');   //获取任务栏类名
  wndHandle := FindWindow(@wndClass[0],nil); //获取任务栏窗口的句柄
  ShowWindow(wndHandle, SW_Hide);            //隐藏Windows任务栏
end;

    2、隐藏Windows任务栏
procedure Tform1.Button2Click(Sender: TObject);
var wndHandle: THandle;                       //用于存储指定窗口的句柄
    wndClass: array[0..50] of Char;           //用于存储类名
begin
  strPCopy(@wndClass[0], 'Shell_TrayWnd');   //获取任务栏类名
  wndHandle := FindWindow(@wndClass[0],nil); //获取任务栏窗口的句柄
  ShowWindow(wndHandle, SW_Show);            //显示Windows任务栏
end;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:30649次
    • 积分:582
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:0篇
    • 译文:0篇
    • 评论:9条
    最新评论