XP-Skin an/aus abfrage

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Donald
Beiträge: 307
Registriert: 03.01.2005 02:21
Wohnort: Marl

XP-Skin an/aus abfrage

Beitrag von Donald »

Hi,
suche verzweifelt eine Abfrage, mit der ich herausbekomme
ob das Programm "normal" oder mit "XP-Skin" Unterstützung
gestartet wurde.

Kann mir dabei jemand weiter helfen ?
DONALD :D www.PureBasic-Donald.de gibt es im Moment nicht mehr
PureBasic - jaPBe - PureVisonXP - TailBite
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ungetestet, wäre nett, wenn Du die Ergebnisse mitteilen würdest:

Code: Alles auswählen

Procedure IsAppThemed()
  Protected DLL.l, Result.l
  If OSVersion() >= #PB_OS_Windows_XP
    DLL = OpenLibrary(#PB_Any, "uxtheme.dll")
    If DLL
      Result = CallFunction(DLL, "IsAppThemed")
      CloseLibrary(DLL)
      ProcedureReturn Result  
    EndIf
    ProcedureReturn #False
  EndIf
  ProcedureReturn #False
EndProcedure

Procedure IsThemeActive()
  Protected DLL.l, Result.l
  If OSVersion() >= #PB_OS_Windows_XP
    DLL = OpenLibrary(#PB_Any, "uxtheme.dll")
    If DLL
      Result = CallFunction(DLL, "IsThemeActive")
      CloseLibrary(DLL)
      ProcedureReturn Result  
    EndIf
    ProcedureReturn #False
  EndIf
  ProcedureReturn #False
EndProcedure
Nachtrag: Die Ergebnisse kommen mir komisch vor :freak:
http://msdn.microsoft.com/library/defau ... themed.asp
http://msdn.microsoft.com/library/defau ... active.asp
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Und ausschalten kannst du das Theme global hiermit.

Code: Alles auswählen

; XP-Skin push off
; 2005 Hroudtwolf
; PureBasic-Lounge.de

If OpenLibrary (1,"uxtheme.dll")
CallFunction(1, "EnableTheming",#False); Mit #True statt #False kannst du es wieder aktivieren
CloseLibrary (1)
EndIf 
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Und wer zählt jetzt die restlichen 45 nicht gefragten Funktionen der DLL auf :wink:
Nicht bös gemeint.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Donald
Beiträge: 307
Registriert: 03.01.2005 02:21
Wohnort: Marl

Beitrag von Donald »

leider nicht das was ich suche.

@TS
egal ob ich das PB-Programm mit oder ohne XP-Skin starte
ergebnis immer 1

@Hroudtwolf
Die Routine ändert die Windows Einstellung.

Ich suche nur eine Abfrage ob für ein PB-Programm die
XP-Skin Unterstützung an/aus ist.
DONALD :D www.PureBasic-Donald.de gibt es im Moment nicht mehr
PureBasic - jaPBe - PureVisonXP - TailBite
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Donald hat geschrieben: @TS
egal ob ich das PB-Programm mit oder ohne XP-Skin starte
ergebnis immer 1
Ist mir auch aufgefallen, aber sollte eigentlich so funzen :freak:
Du kannt ja nach einer programmname.manifest bzw. nach einer Resource vom Typ 24 suchen.

Ich selber disable immer den XP-Style für einzelne Gadgets, wenns nicht passt, bzw. problems macht.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

@Hroudtwolf
Die Routine ändert die Windows Einstellung.

Ich suche nur eine Abfrage ob für ein PB-Programm die
XP-Skin Unterstützung an/aus ist.
Habe nichts anderes behauptet.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Eigentlich logisch, die Funktion ermittelt nur ob XP-Theme beim User Aktiv ist, ob die Manifest-Datei vorhanden ist, weiß der Programmierer ja normallerweise.
Also XP-Theme Aktiv + ich habe Manifest integriert = ja
ansonsten nein :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Thatsanee
Beiträge: 116
Registriert: 11.03.2005 05:12

Beitrag von Thatsanee »

ts-soft hat geschrieben:Du kannt ja nach einer programmname.manifest bzw. nach einer Resource vom Typ 24 suchen.

Ich selber disable immer den XP-Style für einzelne Gadgets, wenns nicht passt, bzw. problems macht.
Hallo TS,
das würde mich auch interessieren:
Wie fragt man denn ab ob Typ 24 vorhanden ist ?
Und wie disablest du XP-Style für einzele Gadgets ?

Thatsanee
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@Thatsannee
DisableXPTheme findes Du hier: http://forums.purebasic.com/german/view ... e&start=10
sowie im engl. Forum

Das andere wirste Dir wohl selber überlegen müssen, hab da nichts fertiges :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten