TIME TO SAY GOODBYE
Verfasst: 12.11.2008 15:24
nönö .. ich bleib bei PB
mein programm heisst nur so.
da ich oft mal gerne den feierabend vergesse, hab ich mir ein tool
gebastelt, welches mir die zeit um nach hause zu gehen anzeigt.
ich wollte ja gerne irgendwie direkt auf den hintergrund (hinter die
icons ) malen (nönö .. webinhalte auf dem desktop gibt es bei mir nicht)
ging nicht .. also male ich auf den desktop VOR alle fenster und icons
und möchte danach die fenster und icons zu bereinigen, so dass meine
ausgabe nur im hintergrund stehen bleibt.
ich hab dann ein wenig rumgetan mit invalidaterect_(....)
dabei zappelt mir der screen zu dolle. gibt augenkrebs.
fensterhandle bekomme ich wie im folgenden code gezeigt raus.
aber auch der liefert mir längst nicht alle.
Frage 1: wie bekomme ich den rest raus?
um die iconbereiche freizustellen habe ich dann mal handles von 1 bis
512 in eine schleife gepackt und es funktioniert so einigermassen.
nun die Frage:
Frage 2: wie bekomme ich das entsprechende handle (ist jedesmal ein anderes
aber vermutlich immer im 3stelligen bereich) direkt raus. ein fenster mit
dem handle finde ich da nicht.
hier mal der code (die farben sind scheusslich, passen aber gut zu meiner frisur
)
achsoja .. soll für windoof xp und co wuppen
mein programm heisst nur so.
da ich oft mal gerne den feierabend vergesse, hab ich mir ein tool
gebastelt, welches mir die zeit um nach hause zu gehen anzeigt.
ich wollte ja gerne irgendwie direkt auf den hintergrund (hinter die
icons ) malen (nönö .. webinhalte auf dem desktop gibt es bei mir nicht)
ging nicht .. also male ich auf den desktop VOR alle fenster und icons
und möchte danach die fenster und icons zu bereinigen, so dass meine
ausgabe nur im hintergrund stehen bleibt.
ich hab dann ein wenig rumgetan mit invalidaterect_(....)
dabei zappelt mir der screen zu dolle. gibt augenkrebs.
fensterhandle bekomme ich wie im folgenden code gezeigt raus.
aber auch der liefert mir längst nicht alle.
Frage 1: wie bekomme ich den rest raus?
um die iconbereiche freizustellen habe ich dann mal handles von 1 bis
512 in eine schleife gepackt und es funktioniert so einigermassen.
nun die Frage:
Frage 2: wie bekomme ich das entsprechende handle (ist jedesmal ein anderes
aber vermutlich immer im 3stelligen bereich) direkt raus. ein fenster mit
dem handle finde ich da nicht.
hier mal der code (die farben sind scheusslich, passen aber gut zu meiner frisur

Code: Alles auswählen
Global Mem.l
Mem = AllocateMemory(1024)
Procedure.l GetWindowHandleandInvalidate (window, parameter)
*Memory = ReAllocateMemory (0, 255)
GetClassName_ (window, *Memory, 255)
class$ = PeekS (*Memory)
InvalidateRect_(window,0,0)
ProcedureReturn #True
EndProcedure
Procedure.l DesktopOutput()
PokeL(Mem, 1)
ProcedureReturn Mem
EndProcedure
so.s=FormatDate("%hh:%ii",Date()-ElapsedMilliseconds()/1000+(3600*8))
ExamineDesktops()
w=DesktopWidth(0):h=DesktopHeight(0)
fi.l=FontID(LoadFont(#PB_Any,"",128))
For i=1 To 30
r=174:g=116:b=85
nr=r-11+Random(23)
ng=g-11+Random(23)
nb=b-11+Random(23)
StartDrawing(Desktopoutput())
DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(fi)
FrontColor(RGB(nr,ng,nb))
DrawText(Random(w-TextWidth(so)),Random(h-TextHeight(so)),so)
StopDrawing()
EnumWindows_ (@GetWindowHandleandInvalidate (), 0) ; holt windowhandle und 'invalidaterect' die
For iv=1 To 512 ; könnte auch von 1 bis 65536 gehen , aber das holt mir auch nicht alle
InvalidateRect_(iv,0,0) ;Soll den Rest bereinigen (iconebene was auch immer)
Next iv
Delay(1000)
Next i
End