把任务栏设置为自动隐藏(100分)

  • 主题发起人 主题发起人 guoyan
  • 开始时间 开始时间
G

guoyan

Unregistered / Unconfirmed
GUEST, unregistred user!
我想通过程序把任务栏设置为自动隐藏,以下是原程序
不知是那里错了,总是不行。

uses shellapi

var ABData : TAppBarData;

begin
ABData.cbSize := Sizeof(ABData);
Abdata.hWnd:= FindWindow('Shell_TrayWnd', nil);
Abdata.uEdge:=ABE_BOTTOM
SHAppBarMessage(ABM_GETSTATE,Abdata);
ABData.uCallbackMessage:=0;
Abdata.lParam:=1;
SHAppBarMessage(ABM_SETAUTOHIDEBAR,Abdata);
end;
 
<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=108385">here</a>
 
在程序员大本营中有原码!
 
邹光先:
快告诉我在那里,或直接把原代码贴出来
谢谢!!!
 
看一看这里吧:
<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=108385">任务栏的秘密</a>
 
对不起,CJ,没注意看你的连接。 :-)
 
以下源程序我试过了,没问题
procedure hideTaskbar; //隐藏
var wndHandle : THandle; wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0], 'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_HIDE);
End;
procedure showtaskbar;
var
wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0], 'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_Show);
end;
 
你这个不是设置taskbar的状态,而是暂时隐藏或者显示
 
; Taskbar_hwnd:= FindWindow('Shell_traywnd', '');
//得到任务条的窗口 句柄
SetWindowPos(Taskbar_hwnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW);
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部