AGB  ·  Datenschutz  ·  Impressum  







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

Cursornamen Bestimmen

Ein Thema von stiftII · begonnen am 2. Sep 2009 · letzter Beitrag vom 22. Mär 2013
Antwort Antwort
Seite 1 von 2  1 2      
stiftII

Registriert seit: 2. Sep 2009
Ort: Cuxhaven
122 Beiträge
 
#1

Cursornamen Bestimmen

  Alt 2. Sep 2009, 18:55
Hi.
Wirklich ein Super Forum hier . Bevor ich mich angemeldet hab hat mich google mit meinen Fragen schon oft hierher geführt.

Zu meinem jetzigen Problemchen hab ich allerdings noch keine passende Lösung gefunden .

Ich versuche den Cursornamen des momentan aktiven Cursors(Global) zu bestimmen. Dafür hab ich mir erstmal das Handle vom Cursor geholt mit:
ico.Handle := GetCursor;

Jedoch komme ich über das handle nicht an den cursornamen ? Oder doch ?. Wie könnte ich sonst an den namen kommen ?.

-stiftII
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.052 Beiträge
 
Delphi 12 Athens
 
#2

Re: Cursornamen Bestimmen

  Alt 2. Sep 2009, 19:26
Du kannst Screen.Cursors (Screen aus Unit Forms) durchgehn und schauen, ob von Einem das Handle mit deinem übereinstimmt.
Der Index (wenn gefungen) würde dann dem "Namen" entsprechen.

Name = KonstantenName (von z.B. crHelp) ... also brauchst du dann noch 'ne Tabelle mit den bekannten "Namen" und ihrem Wert/Index, in welcher du dann schaus, ob der Index/Wert dort enthalten ist;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Cursornamen Bestimmen

  Alt 2. Sep 2009, 19:28
Nimm mal:

Form1.caption := cursortostring(screen.Cursor); bekommst direkt den Cursornamen. Die Form1.Caption war nur, weil ich das getestet hab und schnell irgendein String zur Ausgabe braucht. Kannst natürlich alles nehmen, was du willst

MfG
BAMatze
2. Account Sero
  Mit Zitat antworten Zitat
stiftII

Registriert seit: 2. Sep 2009
Ort: Cuxhaven
122 Beiträge
 
#4

Re: Cursornamen Bestimmen

  Alt 2. Sep 2009, 19:38
Hallo.
Danke für die Antworten.

Es funktioniert leider nicht. "cursortostring(screen.Cursor);" gibt immer dasselbe zurück(crDefault), selbst wenn sich der Cursor ändert.

Grüße,
stiftII
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Cursornamen Bestimmen

  Alt 2. Sep 2009, 19:41
Das gilt natürlich nur für dein eigenen Thread (deine Form). Wenn du andere außerhalb deiner Form identifizieren willst, musst du schon vorher (denke ich mal) nen globalen Maushook machen.

BAMatze
2. Account Sero
  Mit Zitat antworten Zitat
stiftII

Registriert seit: 2. Sep 2009
Ort: Cuxhaven
122 Beiträge
 
#6

Re: Cursornamen Bestimmen

  Alt 2. Sep 2009, 19:55
Ich müsste den global bestimmen, also nicht nur in meiner Form, deswegen auch Windows API .

~stift II
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#7

Re: Cursornamen Bestimmen

  Alt 2. Sep 2009, 20:01
Schau mal nach MSDN-Library durchsuchenGetCursorInfo.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
stiftII

Registriert seit: 2. Sep 2009
Ort: Cuxhaven
122 Beiträge
 
#8

Re: Cursornamen Bestimmen

  Alt 2. Sep 2009, 20:19
Zitat:
CURSORINFO Structure

The CURSORINFO structure contains global cursor information.

Syntax

typedef struct {
DWORD cbSize;
DWORD flags;
HCURSOR hCursor;
POINT ptScreenPos;
} CURSORINFO, *PCURSORINFO, *LPCURSORINFO;

Members

cbSize
Specifies the size, in bytes, of the structure. The caller must set this to sizeof(CURSORINFO).
flags
Specifies the cursor state. This parameter can be one of the following values.

0
The cursor is hidden.
CURSOR_SHOWING
The cursor is showing.

hCursor
Handle to the cursor.
ptScreenPos
A POINT structure that receives the screen coordinates of the cursor.
Es gibt leider nicht den namen zurück, nur die Position, das Handle und die Sichtbarkeit.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#9

Re: Cursornamen Bestimmen

  Alt 2. Sep 2009, 20:22
Zitat von himitsu:
Du kannst Screen.Cursors (Screen aus Unit Forms) durchgehn und schauen, ob von Einem das Handle mit deinem übereinstimmt.
Der Index (wenn gefungen) würde dann dem "Namen" entsprechen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Cursornamen Bestimmen

  Alt 2. Sep 2009, 20:24
nunja dann bleibt dir aber die Möglichkeit wie himitsu vorgeschlagen hat, das gefundenen Handle mit den vorhandenen zu vergleichen.

Mist zu langsam
2. Account Sero
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz