WinAPI

Anfängerfragen zum Programmieren mit PureBasic.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag 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?
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag 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?
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag 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?
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag 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... :)
Antworten