Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Phili

unregistriert

1

10.09.2007, 15:19

Programm als Hintergrund

Ich würde gerne für meinen Windows-Desktop eine Art interaktiven Hintergrund programmieren(also nicht nur gif Animation). Ich bin mir ziemlich sicher, dass das auf irgendeine Weise möglich ist, hab allerdings keine Ahnung wie.
Ich kannte mal jemanden, der hatt es irgendwie geschaft ein Flash-Game als Hintergrund zu benutzen.
Am liebsten würde ich natürlich eine ganz normale Exe nehmen und irgendwie als Hintergrund verwenden.
Allerdings kanns so einfach ja irgendwie nicht sein... schließlich müsste man ja mehr oder weniger auf den Desktop direkt zeichnen, nicht auf fenster...
//Edit: Google hab ich natürlich auch schon gesucht, allerdings hab ich nur gif-Animationen gefunden.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

2

10.09.2007, 15:31

das mit dem auf dem Desktop zeichnen geht. dazu musst du bei einer win32 anwendung beim erzeugen eines device contextes stat dem fensterhandle NULL übergeben. dann kannste aufm dessi zeichnen ;)

das es nur als prozess im hintergrund läuft weis ich auch nicht wie es geht ich denke da müsste man direkt die app als arbeitsthread definieren. ob und wie das geht da hab ich aber auch keine idee :roll:

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

3

10.09.2007, 15:37

C-/C++-Quelltext

1
2
3
4
HDC desktopDC = GetDC( 0 );
HDC memoryDC = CreateCompatibleDC( desktopDC );

// ...


Einfach wie gehabt vorgehen, ein Bitmap erstellen und an den memoryDC binden. Und schon kannst du aufden Desktop zeichnen.
@D13_Dreinig

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

4

10.09.2007, 15:50

@david:

aber auch wenn man das jetzt so macht ist doch trotzdem in der taskbar ein eintrag von dem programm, oder? wie lässt man das im hintergrund, nur als prozess laufen?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

5

10.09.2007, 15:54

Das war doch garnicht die Frage. Zur Not geht das schon, kommt halt auf die Gegebenheiten an. ;)
@D13_Dreinig

Phili

unregistriert

6

10.09.2007, 15:58

Also erstmal: danke für die schnellen und so unerwartet unprblematischen antworten. Ich hätte mir das ganze viel komplizierter vorgestellt.
Selbst das von TrommlBommel angesprochene Problem ist eigentlich keins. Denn ich öffne ja kein Fenster->Es wird auch unten keins angezeigt.
Ein Problem hab ich allerdings dennoch: Ich würde doch ganz gerne die Symbole des Desktops noch vor meinem Hintergrund sehen. So werden sie einfach übermalt.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

7

10.09.2007, 15:59

gut mein fehler habs auch net ausprobiert

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

8

10.09.2007, 16:18

Kannst ja mal versuchen die Windowprozedur vom Dekstop auszutauschen und eine entsprechende Notifikation zu umzuleiten (z.B. NM_CUSTOMDRAW). Kanns leider nicht ausprobieren weil ich hier nur eine Linuxmaschine zur Verfügung habe, ist aber im Moment die einzige Idee die ich zu diesem Problem hab.
@D13_Dreinig

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

10.09.2007, 21:53

Re: Programm als Hintergrund

Zitat von »"Phili"«

Ich kannte mal jemanden, der hatt es irgendwie geschaft ein Flash-Game als Hintergrund zu benutzen...Allerdings kanns so einfach ja irgendwie nicht sein... schließlich müsste man ja mehr oder weniger auf den Desktop direkt zeichnen, nicht auf fenster...


das, was der, den du da kanntest, gemacht hat, ist einfach ;)

http://de.wikipedia.org/wiki/Active_Desktop

Werbeanzeige