Entwickler-Ecke
Windows API - screensaver im Vorschaufenster
MathiasH - Sa 29.06.02 08:46
Titel: screensaver im Vorschaufenster
Hi
Kann man eigentlich auch einen Bildschirmschoner in das MS-vorschaufenster reinblitten :shock: (oder irgenwie anders)
und wenn ja, wie?
P.S.: wie schauen eigentlich die optionen/nornal-Parameter dabei aus?
Ich hab übrigens keine Erfahrung mit Regions, Hooks...
Tino - Sa 29.06.02 09:40
Hallo Mathias,
beim Auswerten der Paramter (/s, /c) musst du nun auf den Parameter /p reagieren. Dieser wird aufgerufen sobald Deine Anwendung sich in dem Vorschaufenster presentieren soll. Dann gibt es einen 2. Parameter der (glaube ich) das Handel der Zeichenfläche angibt. Damit Du halt weißt wohin Du zeichnen musst :-D
Gruß
TINO
mathias - Sa 29.06.02 21:02
Das würde mich auch mal interessieren wie man den DC des Fensterchen bekommt. :)
maxk - Fr 09.08.02 11:50
Hi,
ich habe das schon ein paar mal gemacht, aber fragt nicht wie...
Ich poste hier einfach mal ungetesteten Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var Canvas:TCanvas; {Spätere Zeichenfläche} MyRect:TRect; {Position der Zeichenfläche} Wnd:integer; {Vorschaufenster} Width,Height:integer;{Größe der Zeichenfläche} begin if ParamCount<2 then exit; Wnd:=StrToInt(ParamStr(2)); while not IsWindowVisible(Wnd) do Application.ProcessMessages; {Warten bis Fenster sichtbar} Canvas:=TCanvas.Create; GetWindowRect(Wnd,MyRect); Width:=MyRect.Right-MyRect.Left; Height:=MyRect.Bottom-MyRect.Top; Canvas.Handle:=GetDC(Wnd); randomize; while IsWindowVisible(Wnd) do begin Canvas.Pen.Color:=TColor(random(255)*random(255)*random(255)); Canvas.LineTo(random(Width),random(Height)); end; Canvas.free; end; |
So sollte es eigentlich funktionieren! Mit Canvas (im 2. while) kannst du dann machen, was du willst!
MathiasH - Fr 09.08.02 13:05
Danke, werd's gleich mal ausprobieren
es gibt auch so ne GLScene Kompo die das macht, aber die hat ein entscheidendes Problem, durch die Vorschaufunktion stürtzt der Bildschirmschoner ab, und man muss auch selber was für oneInstance schreiben.
MathiasH
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!