Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 07.11.2009 17:07
Sorry für Doppelpost, ich will aber dass es jeder mitbekommt. Ich habs geschafft! Der Beispielcode ist noch alles andere als sauber aber es funktioniert
Da geht noch weitaus mehr wenn man sich da einarbeitet. Auch solche Buttons etc. macht man glaube ich damit ins Vorschaufenster.
[EDIT]
Code geupdated.
Code: Alles auswählen
; Author: DarkDragon
Interface ITaskbarList3 Extends ITaskbarList2
SetProgressValue(hWnd, Completed.q, Total.q)
SetProgressState(hWnd, Flags.l)
RegisterTab(hWndTab, hWndMDI)
UnregisterTab(hWndTab)
SetTabOrder(hWndTab, hwndInsertBefore)
SetTabActive(hWndTab, hWndMDI, dwReserved.l)
ThumbBarAddButtons(hWnd, cButtons, *pButtons)
ThumbBarUpdateButtons(hWnd, cButtons, *pButtons)
ThumbBarSetImageList(hWnd, himl)
SetOverlayIcon(hWnd, hIcon, pszDescription.s)
SetThumbnailTooltip(hWnd, pszTip.s)
SetThumbnailClip(hWnd, *prcClip.RECT)
EndInterface
#TBPF_NoProgress = $00
#TBPF_Indeterminate = $01
#TBPF_Normal = $02
#TBPF_Error = $04
#TBPF_Paused = $08
#CLSCTX_INPROC_SERVER = 1
#CLSCTX_LOCAL_SERVER = 4
#CLSCTX_SERVER = #CLSCTX_INPROC_SERVER | #CLSCTX_LOCAL_SERVER
OpenWindow(0, 10, 0, 300, 50, "Test")
CoInitialize_(0)
*tb.ITaskbarList3
ret = CoCreateInstance_(?CLSID_TaskbarList, 0, #CLSCTX_SERVER, ?IID_ITaskbarList, @*tb)
If ret = 0
*tb\SetProgressState(WindowID(0), #TBPF_Normal)
Else
Debug "Error:"
Debug ret
EndIf
i = 0
Repeat
i + 1
*tb\SetProgressValue(WindowID(0), i % 1000, 1000)
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
Break
EndSelect
Delay(1)
ForEver
CoUninitialize_()
End
DataSection
CLSID_TaskbarList:
; 56FDF344-FD6D-11D0-958A-006097C9A090
Data.l $56FDF344
Data.w $FD6D, $11D0, $8A95
Data.b $00, $60, $97, $C9, $A0, $90
IID_ITaskbarList:
; {56FDF342-FD6D-11D0-958A-006097C9A090}
Data.l $56FDF342
Data.w $FD6D, $11D0, $8A95
Data.b $00, $60, $97, $C9, $A0, $90
EndDataSection
[EDIT]
Code geupdated.