windows styles
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
windows styles
hallo leute,
es geht hier wiedermal um eine verständnisfrage.
ich brauche einen weg, um einfach nur festzustellen, ob die window-styles unter xp, vista bzw. 7 aktiviert ist oder deaktiviert ist.
wobei ich mir nicht sicher bin, ob das bei windows 7 noch geht. unter xp und vista ja sicher.
kann man das nicht irgendwie über die windows registry feststellen, ohne libs zu verwenden?`
ich brauche das, da mein toolkit die windows variante überprüft und wenn es eine ältere version als xp ist, wird automatisch klassiches design gezeichnet, ansonsten soll geprüft werden, ob die window-styles aktiviert ist. falls nicht, soll wieder klassische geszeichnet werden, ab sonsten die aktuelle theme genutzt werden.
das scheint nicht ganz sicher zu sein. geht es sicher, und kann man es auf vista und 7 auch anwenden?
http://forums.purebasic.com/english/vie ... hp?t=14857
ehrlich gesagt brauche ich ein paar tipps, wie ich das machen kann.
mfg
kurt
es geht hier wiedermal um eine verständnisfrage.
ich brauche einen weg, um einfach nur festzustellen, ob die window-styles unter xp, vista bzw. 7 aktiviert ist oder deaktiviert ist.
wobei ich mir nicht sicher bin, ob das bei windows 7 noch geht. unter xp und vista ja sicher.
kann man das nicht irgendwie über die windows registry feststellen, ohne libs zu verwenden?`
ich brauche das, da mein toolkit die windows variante überprüft und wenn es eine ältere version als xp ist, wird automatisch klassiches design gezeichnet, ansonsten soll geprüft werden, ob die window-styles aktiviert ist. falls nicht, soll wieder klassische geszeichnet werden, ab sonsten die aktuelle theme genutzt werden.
das scheint nicht ganz sicher zu sein. geht es sicher, und kann man es auf vista und 7 auch anwenden?
http://forums.purebasic.com/english/vie ... hp?t=14857
ehrlich gesagt brauche ich ein paar tipps, wie ich das machen kann.
mfg
kurt
Re: windows styles
Mit OSVersion() kannst du ermitteln, welches Betriebssystem verwendet wird.
Mit folgendem WinAPI-Befehl kann festgestellt werden, ob der User einen klassischen oder einen modernen Design aktiviert hat: http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
\\Edit:
Ja das geht unter Windows Vista/7 ebenfalls.
Mit folgendem WinAPI-Befehl kann festgestellt werden, ob der User einen klassischen oder einen modernen Design aktiviert hat: http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
\\Edit:
Ja das geht unter Windows Vista/7 ebenfalls.
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
Re: windows styles
vielan dank
mfg
kurt
mfg
kurt
Re: windows styles
Leider ist die Überprüfung mit OSVersion() nicht ausreichend, wenn man auchRSBasic hat geschrieben:Mit OSVersion() kannst du ermitteln, welches Betriebssystem verwendet wird.
Mit folgendem WinAPI-Befehl kann festgestellt werden, ob der User einen klassischen oder einen modernen Design aktiviert hat: http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
ältere Windows-Versionen unterstützen möchte, die die DLL "UXTheme.DLL"
zur XP-Skin Darstellung noch nicht enthalten. Obwohl man meint, ältere
Windows-Versionen abgefangen zu haben, wird nämlich trotzdem folgende
Fehlermeldung ausgegeben:
Der Grund liegt darin, daß schon beim Start eines Programms alle benötigtenWindows 98 SE hat geschrieben:Fehler beim Starten des Programms.
Die erforderliche DLL-Datei UXTHEME.DLL wurde nicht gefunden.
DLLs auf Vorhandensein geprüft werden und die UXTheme.DLL kann eben z.B.
in Windows 98 nicht gefunden werden. Die einzige Möglichkeit zur Umgehung
dieses Problems besteht darin, die benötigte UXTheme.DLL nur dann mit
OpenLibrary dynamisch zu laden, wenn eine Windows-Version vorliegt, die
diese DLL auch enthält:
Code: Alles auswählen
XPSkinStatus.S = "deaktiviert"
If OSVersion() >= #PB_OS_Windows_XP
LibHandle = OpenLibrary(#PB_Any, "UXTheme.DLL")
If LibHandle
If CallFunction(LibHandle, "IsThemeActive") <> 0
XPSkinStatus = "aktiviert"
EndIf
CloseLibrary(LibHandle)
EndIf
EndIf
MessageRequester("Info", "XP-Skin ist " + XPSkinStatus + "!", #MB_ICONINFORMATION)
hingewiesen, z.B. hier.
Und bevor freundliche Hinweise kommen, daß man statt CallFunction() besser
Prototypes verwenden sollte: in diesem Fall ist die Prototype-Lösung 3 Zeilen
länger und ich möchte ja nur das Prinzip verdeutlichen...

Re: windows styles
Windows 98 ist mittlerweile über 20 Jahre alt! Meiner Meinung nach ist die Unterstützung solcher Oldtimer wirklich nur noch Zeitverschwendung.Shardik hat geschrieben:Windows 98 SE hat geschrieben:Fehler beim Starten des Programms.
Die erforderliche DLL-Datei UXTHEME.DLL wurde nicht gefunden.
Gleiches gilt übrigens auch für Windows 2000. MS hat für diese Versionen schon längst den Support *VOLLSTÄNDIG* eingestellt. Es ist auch ziemlich
leichtsinnig mit diesen Versionen Online zu gehen, da dort Sicherheitslücken entdeckt worden sind, die nicht mehr gestopft werden.
Am einfachsten richtet man sich an MS. D.h. XP, Vista und Win7 bekommen updates, alles andere sollte man schon aus Prinzip nicht mehr unterstützen.
Es wäre sogar angebracht eine "Sie benutzen eine veraltete Windows-Version"-Warnung beim Programmstart zu bringen.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Re: windows styles
Soso, dann ist Windows 98 also schon vor 1991 herausgekommen. Das muß mirGPI hat geschrieben:Windows 98 ist mittlerweile über 20 Jahre alt!
dann wohl leider entgangen sein...

Darum ging es eigentlich überhaupt nicht. Ich wollte nur demonstrieren, daß esGPI hat geschrieben:Meiner Meinung nach ist die Unterstützung solcher Oldtimer wirklich nur noch Zeitverschwendung.
nicht damit getan ist, mit OSVersion() die Windows-Version zu prüfen und dann
zu meinen, daß das eigene Programm damit dann auch unter älteren Versionen
läuft und man eventuell eine eigene Fehlermeldung ausgeben kann. Wenn man
Versionen vor Windows XP nicht unterstützen möchte, ist dies vollkommen in
Ordnung. Dann kann man sich aber auch den unnützen Test mit OSVersion()
sparen, weil dieser vollkommen überflüssig ist, wenn man nicht berücksichtigt,
daß unter älteren Windows-Versionen bei nicht vorhandenen DLLs Fehler
auftreten werden, wenn man die DLLs nicht dynamisch lädt...
Das mit den nicht gestopften Sicherheitslücken ist korrekt und potentiellGPI hat geschrieben:Es ist auch ziemlich leichtsinnig mit diesen Versionen Online zu gehen, da dort Sicherheitslücken entdeckt worden sind, die nicht mehr gestopft werden.
gefährlich. Andererseits dürfte der Anteil von Windows 98 Nutzern im Internet
weit unter 1 % liegen (2007 lag er nur noch bei 0,7 %). Wer sollte sich da noch
die Mühe machen, diese zu hacken, zumal viele Sicherheitslücken von XP in
Windows 98 überhaupt nicht funktionieren dürften. Es gab hierzu übrigens schon
einmal im Juni 2010 eine interessante Diskussion im englischen Forum:
http://www.purebasic.fr/english/viewtop ... 17&t=42688
- 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
Re: windows styles
Die Berliner U-Bahn verwendet für sein "Schaufenster" (Werbung gepaart mit Nachrichten) noch Windows 98.
In der Industrie, Speditionswesen, Lager usw., wird es noch sehr häufig genutzt, genauso wie DOS.
Da nur noch sehr wenige für Win98 programmieren, sollte dies eine lukrative Marktlücke sein
,
ansonsten kann man es natürlich vernachlässigen.
PS: Nicht jede Anwendung benötigt Onlineanbindung.
In der Industrie, Speditionswesen, Lager usw., wird es noch sehr häufig genutzt, genauso wie DOS.
Da nur noch sehr wenige für Win98 programmieren, sollte dies eine lukrative Marktlücke sein

ansonsten kann man es natürlich vernachlässigen.
PS: Nicht jede Anwendung benötigt Onlineanbindung.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: windows styles
Sehr unwahrscheinlich. Hier laufen auch noch ein paar Geräte mit alten Os. Beide haben gemeinsam, das diese für die Steuerung einer Maschine benötigt werden. Da was zu ändern, ist äußerst Gefährlich. Die U-Bahn Werbung wird auch auf absehbarer Zeit umgestellt - da muss nur ein Gerät verrecken und man hat keinerlei Ersatz. Alle Standards von damals sind überholt. Man bekommt nicht mal ein Netzteil mehr für die Kisten. Auf solchen Kisten läuft ein und das selbe Steuerungsprogramm seit Jahren und es ist unwahrscheinlich das da jemals was anderes drauf kommt. Für Sowas zu Entwickeln ist einfach Zeitverschwendung. Ich zumindest würde in PureBasic in der Beziehung nicht mehr ändern, damit das Problem behoben wird.ts-soft hat geschrieben:Die Berliner U-Bahn verwendet für sein "Schaufenster" (Werbung gepaart mit Nachrichten) noch Windows 98.
In der Industrie, Speditionswesen, Lager usw., wird es noch sehr häufig genutzt, genauso wie DOS.
Da nur noch sehr wenige für Win98 programmieren, sollte dies eine lukrative Marktlücke sein,
ansonsten kann man es natürlich vernachlässigen.
p.s.: Alle Büro-Rechner laufen hier mit XP - nächstes Jahr gibts dann Win7
p.p.s.: Ja Kopfrechnen, vorallen nach der Arbeit und um die Uhrzeit ist nicht meine Stärke.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
Re: windows styles
@Shardik,
danke noch mal für den Hinweis auf dieses Topic
@TS, @GPI,
es geht doch gar nicht darum, "für die alten Kisten" zu entwickeln. PB unterstützt von vorn herein
"alle" Versionen des OS. Warum sollte man dann nicht einfach das Programm so schreiben, das
es mit möglichen Einschränkungen betreffend nicht vorhandener DLL einfach überall läuft? Sicher
kann man es so machen wie viele "komerzielle" Software-Schmieden, einfach auf eine Mindestversion
fixieren, fertig. Und wozu? Nur um dann die nächste Version wieder teuer zu verscherbeln. In der
Regel ist die Software die hier entsteht Freeware und ein Freewareentwickler hat nichts davon,
irgendetwas auszuschließen.
@Administration,
falls dieser Eintrag dazu führen sollte, das dieses Thema vermüllt, bitte ich um die Entfernung
meiner Wortmeldung, denn der eigentliche Inhalt ist durchaus wichtig.
Gruß Jens
danke noch mal für den Hinweis auf dieses Topic

@TS, @GPI,
es geht doch gar nicht darum, "für die alten Kisten" zu entwickeln. PB unterstützt von vorn herein
"alle" Versionen des OS. Warum sollte man dann nicht einfach das Programm so schreiben, das
es mit möglichen Einschränkungen betreffend nicht vorhandener DLL einfach überall läuft? Sicher
kann man es so machen wie viele "komerzielle" Software-Schmieden, einfach auf eine Mindestversion
fixieren, fertig. Und wozu? Nur um dann die nächste Version wieder teuer zu verscherbeln. In der
Regel ist die Software die hier entsteht Freeware und ein Freewareentwickler hat nichts davon,
irgendetwas auszuschließen.
@Administration,
falls dieser Eintrag dazu führen sollte, das dieses Thema vermüllt, bitte ich um die Entfernung
meiner Wortmeldung, denn der eigentliche Inhalt ist durchaus wichtig.
Gruß Jens
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64
Nichts wissen macht nichts, sich dumm stellen aber schon.
Nichts wissen macht nichts, sich dumm stellen aber schon.
Re: windows styles
Naja, du mußt es testen - das alleine ist schon ein Problem - eine Garantie, das meine Programme unter XP/Vista laufen kann ich bspw. schon nicht mehr geben.
Zudem muss man um viele Probleme, die es nur bei Win98 gibt, bei XP drumherum programmieren. Irgendwann muss man halt mal den ersten Schritt machen.
Zudem muss man um viele Probleme, die es nur bei Win98 gibt, bei XP drumherum programmieren. Irgendwann muss man halt mal den ersten Schritt machen.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!