修改系统托盘区宽度

My_first 2005-08-13 11:04:13
var
Form1: TForm1;
hSysTab,hTray,htime:Hwnd;
implementation


{$R *.DFM}

procedure TForm1.GetHandles;
begin
hSysTab:=FindWindow('Shell_TrayWnd', nil);
hSysTab:=FindWindowEx(hSysTab, 0, 'ReBarWindow32', nil);

hTray:=FindWindow('Shell_TrayWnd', nil);
hTray:=FindWindowEx(hTray, 0, 'TrayNotifyWnd', nil);

hTime:=FindWindow('Shell_TrayWnd', nil);
hTime:=FindWindowEx(hTime, 0, 'TrayNotifyWnd', nil);
hTime:=FindWindowEx(hTime, 0, 'TrayClockWClass', nil);


procedure TForm1.Button1Click(Sender: TObject);
begin

GetHandles;
SetWindowPos(hSysTab, 0, 0, 0, 794, 22, SWP_NOMOVE);
SetWindowPos(hTray, 0,790, 0, 300, 22, SWP_SHOWWINDOW);
SetWindowPos(hTime, 0, 0, 0, 102, 20, SWP_NOMOVE);
end;

上面的代码可以实现调整宽度,但是系统闪一下,又会恢复原来的宽度。

这该怎么做呀.(让调整后不再回去).
...全文
494 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
My_first 2005-08-14
  • 打赏
  • 举报
回复
to sailxia, 那个网址的代码中间少了好多。dll无法编 译通过
angelior 2005-08-14
  • 打赏
  • 举报
回复
上星的人物

牛呀

共同进步



俺也要分

:)
桂林哈秋 2005-08-14
  • 打赏
  • 举报
回复
楼上大虾是不是站长啊,支持你一下!!!祝愿该站越办越好!!!
Stone2005 2005-08-14
  • 打赏
  • 举报
回复
http://www.somade.com/是个很专业的技术社区,去那里找找吧,或许有你要的答案~
LocustWei 2005-08-13
  • 打赏
  • 举报
回复
还不如加一个看不见的图标战位
僵哥 2005-08-13
  • 打赏
  • 举报
回复
偶的win2003,好象调整之后如果托盘区不刷新就不会调整回去,一旦加入个图标就会被整调掉。
桂林哈秋 2005-08-13
  • 打赏
  • 举报
回复
楼上大虾真厉害啊,给的地址竟然是俄文的,不过代码看起来很厉害啊,+强顶啦!!!

学习啦!!!
Frank.WU 2005-08-13
  • 打赏
  • 举报
回复
用鉤子吧,我也不太清楚具體做法。可以參考一下這裡的老毛子的文章。
他是用鉤子實現換皮膚的系統時鐘。上次我問Kingron,他說很簡單。

http://msk.nestor.minsk.by/kg/2005/07/kg50704.html

連接有點慢,多刷幾次。
fffddd 2005-08-13
  • 打赏
  • 举报
回复
我倒,你们几位全部都是红星啊。
jackie168 2005-08-13
  • 打赏
  • 举报
回复
标记一下。。。
My_first 2005-08-13
  • 打赏
  • 举报
回复
系统是WIN2000
smiler007 2005-08-13
  • 打赏
  • 举报
回复
关注此题.....

5,388

社区成员

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

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