Seite 2 von 2
Verfasst: 23.01.2006 20:01
von MLK
nicht ernsthaft, obwohl es wahrscheinlich sogar klappt
Code: Alles auswählen
Procedure IsThemeXP()
If GetSystemMetrics_(#SM_CXVSCROLL) > 16
ProcedureReturn #True
EndIf
EndProcedure
Verfasst: 23.01.2006 20:29
von ts-soft
Aber nicht bei jedem Theme, aber bei den mitgelieferten von MS sollte das Funzen

Verfasst: 23.01.2006 21:50
von Programie
MLK hat geschrieben:nicht ernsthaft, obwohl es wahrscheinlich sogar klappt
Code: Alles auswählen
Procedure IsThemeXP()
If GetSystemMetrics_(#SM_CXVSCROLL) > 16
ProcedureReturn #True
EndIf
EndProcedure
Gibt bei mir IMMER #True !

Re: XP-Skin an/aus abfrage
Verfasst: 05.12.2012 21:28
von Josh
Muss mich hier noch mal als Leichenschänder betätigen. Bis jetzt dachte ich, dass ich mit GetWindowTheme_(GadgetID(x)) ein brauchbares Ergebnis bekomme. Leider ist das aus einem für mich nicht nachvollziehbaren Grund nicht immer so, wie sich aus folgendem Beispiel ersehen lässt:
Code: Alles auswählen
If OpenWindow(0, 0, 0, 322, 205, "StringGadget Flags", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(0, 8, 10, 306, 20, "Normal StringGadget...")
Debug GetWindowTheme_(GadgetID(0))
StringGadget(6, 8, 170, 306, 20, "Password", #PB_String_Password)
Debug GetWindowTheme_(GadgetID(6))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Jetzt verwende ich folgenden Code, wobei ich hoffe, dass sich da nicht auch wieder irgendein Hacken ergibt:
Code: Alles auswählen
Procedure.i IsAppThemed()
If FindResource_(0, 1, #RT_MANIFEST)
If IsThemeActive_()
ProcedureReturn #True
EndIf
EndIf
EndProcedure
Debug IsAppThemed()
Evtl. muss noch eine Abfrage für Win8 eingebaut werden, da dort anscheinend Themes generell aktiviert sind. Habe ich aber noch nicht geprüft.
Re: XP-Skin an/aus abfrage
Verfasst: 05.12.2012 21:39
von ts-soft
Josh hat geschrieben:
Jetzt verwende ich folgenden Code, wobei ich hoffe, dass sich da nicht auch wieder irgendein Hacken ergibt:.
Die Tatsache, das eine Manifest vorhanden ist, sagt nichts über Ihren Inhalt, muß ja nicht
automatisch für XP-Style sein
Ich wüßte jetzt aber beim besten willen nicht, wofür so eine Abfrage gut sein sollte. Eine
XP-Style Manifest sollte jede Executable haben, ansonsten ist das Programm uralt oder der
Programmierer nimmt auf die Wünsche der Anwender keinerlei Rücksicht.
Abschalten kann jeder den Style, aber hinzufügen ist für den Normaluser nicht möglich.