Seite 2 von 2
Verfasst: 30.08.2005 13:14
von sobi
ts-soft hat geschrieben:Code: Alles auswählen
BufferLength = GetObject_(GetClassLong_(WindowID(),#GCL_HBRBACKGROUND),0,@Buffer)
*Buffer = AllocateMemory(BufferLength)
GetObject_(GetClassLong_(WindowID(),#GCL_HBRBACKGROUND),BufferLength,*Buffer)
Hab das jetzt mal so geänert:
Code: Alles auswählen
BufferLength = GetObject_(GetClassLong_(WindowID(),#GCL_HBRBACKGROUND),0,@Buffer)
*Buffer = AllocateMemory(BufferLength+1)
GetObject_(GetClassLong_(WindowID(),#GCL_HBRBACKGROUND),BufferLength,*Buffer)
farbe.l=PeekL(@Buffer+4)
Allerdings erhalte ich einen dunkelblaue farbe (statt einem grau) - was habe ich denn da falsch gemacht?
Verfasst: 30.08.2005 13:59
von hardfalcon
Man kann ja 2 Desktop-BGs Einstellen unter Windows: einmal ein Bild und einmal eine fixe Farbe. Vielleicht nimmt er eine andere,als du glaubst, dass er nehmen sollte?
Verfasst: 30.08.2005 14:46
von sobi
hardfalcon hat geschrieben:Man kann ja 2 Desktop-BGs Einstellen unter Windows: einmal ein Bild und einmal eine fixe Farbe. Vielleicht nimmt er eine andere,als du glaubst, dass er nehmen sollte?
ja, das macht sinn...

Habe nachgeschaut (die farbe, die er mir anzeigt, habe ich nirgends definiert) Aber ich bin dahin gekommen, dass ich weiß, dass ich die Farbe der "3D Objekte" brauche. Weiß jemand, wie ich die erhalte?
Verfasst: 30.08.2005 14:48
von hardfalcon
Ja. Aber leider nur halb... Die stehen irgendwo in der Registry, die musst du da auslesen... Aber pass auf, denn die werden ja für jedes Profil und für jeden User getrennt gespeichert. Kann aber sein, dass es auch eine WinAPI-Funktion sdafür gibt, ich muss das mal nachguggen...
