AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Cursor aus der main.cpl?

Ein Thema von Mattze · begonnen am 29. Jun 2015 · letzter Beitrag vom 3. Jul 2015
Antwort Antwort
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#1

AW: Cursor aus der main.cpl?

  Alt 29. Jun 2015, 14:10
Ich kenne jetzt keine zuverlässige Methode, um immer den richtigen Cursor zu ermitteln, weil diese ab Vista (oder Win7) durch das Theme geändert werden dürfen, sofern die entsprechende Option aktiviert ist. Im Aero-Theme, das durch die Datei %SystemRoot%\Resources\Themes\aero.theme definiert ist, steht aber drin, wo der Cursor zu finden ist: %SystemRoot%\Cursors\aero_link.cur.

MfG Dalai
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#2

AW: Cursor aus der main.cpl?

  Alt 29. Jun 2015, 14:35
Hallo Dalai,

genau das ist das Problem, weshalb ein Screenshot auch nichts bringen würde.
Allein unter Win7 pro gibt es 12 verschiedene Schemata zur "Cursorauswahl".
Darunter auch aero-Schemata, die die Hand da haben, wo Du sagst.
Aber auch bei den anderen Themen gibt es eine Hand - und da wird eben nur main.cpl,-1007 (oder eine andere Nummer) angegeben.
(siehe: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Control Panel\Cursors\Schemes - Im Datenstring das allerletzte)

Man müsste dann also für jedes Thema einen Screenshot anfertigen und kann nie sicher sein, dass man auch den richtigen anzeigt!

Im Grunde kann man das Problem aber auch verallgemeinern:
Wie kriege ich aus eine MS-Ressource der Form "[Datei],-Nummer" das bezeichnete Element raus?
(Ich habe das nämlich auch noch bei anderen Dingen in der Registry gesehen.)

(Mit dem Ressourcen Hacker habe ich es übrigens auch nicht gefunden.)

Gruß
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#3

AW: Cursor aus der main.cpl?

  Alt 29. Jun 2015, 14:49
Im Grunde kann man das Problem aber auch verallgemeinern:
Wie kriege ich aus eine MS-Ressource der Form "[Datei],-Nummer" das bezeichnete Element raus?
Ich bin mir nicht sicher, ob dir das hilft, denn ich habe weder in der main.cpl noch in der shell32.dll oder der imageres.dll die entsprechenden Cursor gefunden. Jede Menge Icons und Bitmaps, aber nicht diese Cursor.

Versuch vielleicht mal LoadCursor mit IDC_HAND. In About Cursors stehen auch noch ein paar möglicherweise relevante Dinge

MfG Dalai

Geändert von Dalai (29. Jun 2015 um 14:53 Uhr) Grund: Ergänzung
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#4

AW: Cursor aus der main.cpl?

  Alt 29. Jun 2015, 15:32
Hallo,

vielen Dank für Deinen Tipp.
Und dafür, dass Du in der main.cpl keine Cursoren gefunden hast.
Mir geht es nämlich genauso und da habe ich schon an mir gezweifelt.
Es ist auch nix "handähnliches" zu finden, kein Icon, kein Bitmap...

LoadCursor habe ich schon probiert. Das Problem: Es wird nur der entsprechende Cursor des aktuell eingeschaltenen Schemas ausgegeben. Ich möchte aber diesen Cursor für ein beliebiges Schema bekommen. Ein LoadCursorEx, bei dem man noch das Schema vorgeben kann, das wäre es gewesen...

Das andere gucke ich mal genauer. Vielleicht finde ich ja da was...

"[DateiName],-Nummer" habe ich schon mal irgendwo gesehen. Auch, wie man da ran kommt. Aber, ich glaube, das waren Stringressourcen. Trotzdem, mal suchen, vielleicht geht da etwas...
(Allerdings habe ich Stringressourcen auch nicht in der main.cpl gefunden!)

Gruß
Mattze
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
446 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Cursor aus der main.cpl?

  Alt 30. Jun 2015, 06:37
Zumindestens ab Vista(?), liegt unter %Systemroot%\Globalization\MCT\MCT-DE\Theme\ (entspr. der Installationssprache) die aktuelle theme -Datei.
Darin sind die entspr. Ressourcen verlinkt also z. B. auch:

[Control Panel\Cursors]
Hand=%SystemRoot%\cursors\aero_link.cur

Die anderen *.theme Datein liegen unter %Systemroot%\Resources in entspr. Unterordnern. Nicht immer sind alle Cursor-arten angegeben, dann wird wohl auf den Default-Cursor zugegriffen.
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#6

AW: Cursor aus der main.cpl?

  Alt 1. Jul 2015, 14:38
Hallo,

vielen Dank für den Hinweis mit den Themen.
Für Mauszeiger gibt es da aber noch eigene, die scheinbar nur in der Registry zu finden sind.
(siehe: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Control Panel\Cursors\Schemes)

Mich interessieren da zwei Sachen:
1. Wo nimmt Windows (7) die deutsche Übersetzung her und wie?
2. Wenn man unter "Mauszeiger ändern" guckt, findet man oben die Schemata zur Auswahl und darunter eine Liste der dazugehörigen Mauszeiger. Wie macht Win genau diese Reihenfolge bei allen Schemata. Eine simple Sortierung über die Dateien macht es nicht!

Übrigens scheint der Hand-Cursor tatsächlich überall der gleiche zu sein. Sieht mir jedenfalls sehr danach aus. Nicht mal die Größe scheint (außer bei Aero) angepasst!

Gruß
Mattze
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#7

AW: Cursor aus der main.cpl?

  Alt 3. Jul 2015, 00:13
Massenhaft Cursors:
http://winaero.com/download.php?list.7

Cursorpack entpacken mit WINRAR o.ä.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz