Seite 1 von 1

Winapi-Structure JOYCAPS

Verfasst: 09.08.2010 20:47
von Angelo
Hi,
ich habe eine Variable joypad_info vom Typ JOYCAPS definiert. Nun kann ich mittels

Code: Alles auswählen

joyGetDevCaps_(i,@joypad_info.JOYCAPS,SizeOf(JOYCAPS))
verschiedene Informationen herauskriegen, wie zum Beispiel die Produktnummer:

Code: Alles auswählen

produktnummer.l = joypad_info\wPid
Diese Umsetzung nach PB ist für mich noch machbar, weil wPid vom Typ WORD ist.
Jetzt will ich aber auch den Produktnamen herauskriegen, der in der Win32-Referenz so festgelegt ist:

Code: Alles auswählen

CHAR szPname[MAXPNAMELEN]
Ich habe das Gefühl, das hat etwas mit Pointern und dem PeekS-Befehl zu tun. Kann mir jemand weiterhelfen??

Re: Winapi-Structure JOYCAPS

Verfasst: 09.08.2010 20:56
von HeX0R

Code: Alles auswählen

Produktname.s = PeekS(@joypad_info + OffsetOf(JOYCAPS\szPname), 32)
Sollte aber auch so gehen:

Code: Alles auswählen

Produktname.s = PeekS(@joypad_info\szPname, 32)

Re: Winapi-Structure JOYCAPS

Verfasst: 09.08.2010 21:36
von Angelo
Danke, HeXOR, für Deine Antwort. Leider funktionieren beide Möglichkeiten nicht. Die erste liefert einen Leerstring und die zweite produziert eine Fehlermeldung. Schade.

Re: Winapi-Structure JOYCAPS

Verfasst: 09.08.2010 22:42
von gnasen

Code: Alles auswählen

Structure joy_caps
  ;... 
  szPname.b[#MAXPNAMELEN] 
  ;...
EndStructure 

Debug PeekS(@joypad_info\szPname[0],#MAXPNAMELEN)
funktioniert so bei mir

Re: Winapi-Structure JOYCAPS

Verfasst: 09.08.2010 23:28
von Angelo
Alle Möglichkeiten funktionieren - auch die von HeXOR. Ich hatte vorhin einen Fehler bei der Umsetzung gemacht. Nochmals danke.