我看了一些小軟件,他們是來做的美化桌面的,將系統的右下角的小時鐘改為自己的樣式了,也可以改為 Longhorn 樣式的小時鐘。
我想知道:
1.這個是什麼原理?誰有代碼可以參考?
2.使用了鉤子嗎?應該修改系統文件吧?難道得到 TrayClockClass 的句柄,然後在它上面畫出來?十分感謝你的回答,我會為問題再加分的(200分)。
我想知道:
1.這個是什麼原理?誰有代碼可以參考?
2.使用了鉤子嗎?應該修改系統文件吧?難道得到 TrayClockClass 的句柄,然後在它上面畫出來?十分感謝你的回答,我會為問題再加分的(200分)。
function ShowTrayClock(bValue: Boolean) : Boolean;
var
TrayWnd, TrayNWnd, ClockWnd: HWND;
begin
TrayWnd := FindWindow('Shell_TrayWnd', nil);
TrayNWnd := FindWindowEx(TrayWnd, 0, 'TrayNotifyWnd', nil);
ClockWnd := FindWindowEx(TrayNWnd, 0, 'TrayClockWClass', nil);
Result := IsWindow(ClockWnd);
if Result then
begin
ShowWindow(ClockWnd, Ord(bValue));
PostMessage(ClockWnd, WM_PAINT, 0, 0);
end;
end;
step2:将你的程序最小化到托盘中显示动态的修改托盘图标
相当于给他换skin不过自己做不太会
ding