[Win7] Taskbar-Schaltfläche animieren

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

[Win7] Taskbar-Schaltfläche animieren

Beitrag von RSBasic »

Hallo,


ich verwende bereits Windows 7 und bin damit zufrieden.

Da gibt es ja auch neue Funktionen.

U.a.: Wenn ich eine Datei kopiere, dann öffnet sich ein Kopierfenster.
Was ja auch normal ist :mrgreen:

Die Schaltfläche, die in der Taskleiste auftaucht, ist keine normale Schaltfläche, sondern diese ist beim Kopieren animiert:
Bild

Man kann hier genau sehen, wie weit der Kopiervorgang ist.

Weiß jemand, wie man das umsetzen kann?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: [Win7] Taskbar-Schaltfläche animieren

Beitrag von DarkDragon »

Hallo,

Leider muss ich dir sagen dass das wohl nur mit .NET geht. Ich finde absolut keine Zusatzfeatures von Windows 7 die man ohne .NET benutzen kann.

http://channel9.msdn.com/posts/GLenz/Wi ... gress-Bar/
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: [Win7] Taskbar-Schaltfläche animieren

Beitrag von RSBasic »

Hallo,

DarkDragon hat geschrieben:[...] dass das wohl nur mit .NET geht [...]
Ah okay, daran habe ich garnicht gedacht.

Vielen Dank für deine Anwort.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: [Win7] Taskbar-Schaltfläche animieren

Beitrag von ts-soft »

DarkDragon hat geschrieben:Hallo,

Leider muss ich dir sagen dass das wohl nur mit .NET geht. Ich finde absolut keine Zusatzfeatures von Windows 7 die man ohne .NET benutzen kann.

http://channel9.msdn.com/posts/GLenz/Wi ... gress-Bar/
Das kann leider nicht stimmen, weil mein Total Commander zeigt es genauso an und der ist in Delphi 3 programmiert, also weit weg von .NOT

Gruß
Thomas
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: [Win7] Taskbar-Schaltfläche animieren

Beitrag von c4s »

Hier sind Beispielcodes:
http://weblogs.asp.net/sergeyzwezdin/ar ... s-bar.aspx
http://windowsteamblog.com/blogs/develo ... -bars.aspx

Und sofern ich das richtig erkenne, wird da von .NET gesprochen...
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: [Win7] Taskbar-Schaltfläche animieren

Beitrag von DarkDragon »

ts-soft hat geschrieben:
DarkDragon hat geschrieben:Hallo,

Leider muss ich dir sagen dass das wohl nur mit .NET geht. Ich finde absolut keine Zusatzfeatures von Windows 7 die man ohne .NET benutzen kann.

http://channel9.msdn.com/posts/GLenz/Wi ... gress-Bar/
Das kann leider nicht stimmen, weil mein Total Commander zeigt es genauso an und der ist in Delphi 3 programmiert, also weit weg von .NOT

Gruß
Thomas
Es kann aber sein, dass da ne lib oder sowas drin ist die mit .NET geschrieben wurde. Vielleicht gehts aber auch mit COM oder wie das zeug heißt, weil da braucht man ein ITaskBar3 Objekt.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: [Win7] Taskbar-Schaltfläche animieren

Beitrag von ts-soft »

Wie fast alle Neuerungen in Win 7 gibts das IMHO als COM-Object, ist also auch unter PB nutzbar,
wenn auch nicht unbedingt so einfach.

Direkt hierzu hab ich zwar keine Beispiele gesehen (hab auch garnicht gesucht :mrgreen: ), aber
bei allem anderen sind neben .NOT auch C++ Beispiele aufgeführt.

Gruß
Thomas
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: [Win7] Taskbar-Schaltfläche animieren

Beitrag von DarkDragon »

ts-soft hat geschrieben:Wie fast alle Neuerungen in Win 7 gibts das IMHO als COM-Object, ist also auch unter PB nutzbar,
wenn auch nicht unbedingt so einfach.

Direkt hierzu hab ich zwar keine Beispiele gesehen (hab auch garnicht gesucht :mrgreen: ), aber
bei allem anderen sind neben .NOT auch C++ Beispiele aufgeführt.

Gruß
Thomas
Jetzt bräuchte man nur eine richtige CLSID und IID_Taskbarlist. Ich finde nur falsche bzw CoCreateInstance wirft Class not found zurück.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: [Win7] Taskbar-Schaltfläche animieren

Beitrag von DarkDragon »

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

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
Da geht noch weitaus mehr wenn man sich da einarbeitet. Auch solche Buttons etc. macht man glaube ich damit ins Vorschaufenster.

[EDIT]
Code geupdated.
Zuletzt geändert von DarkDragon am 15.11.2009 10:18, insgesamt 3-mal geändert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Kai
Beiträge: 264
Registriert: 29.09.2005 20:58
Computerausstattung: iMac 2019
Wohnort: Hannover
Kontaktdaten:

Re: [Win7] Taskbar-Schaltfläche animieren

Beitrag von Kai »

Stürzt bei mir leider sofort mit der Meldung 'Das mit dem Debugger getestete Executable endete unerwartet.' ab.

Windows 7 Ultimate x86
Meine Homepage - Aktuelle Projekte - Launcher
Letzte PB-Version - Window 7 x86
Antworten