Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi WinApi will Array, kriegt sie Array? [Raw Input] (https://www.delphipraxis.net/99274-winapi-will-array-kriegt-sie-array-%5Braw-input%5D.html)

Dani 9. Sep 2007 23:01


WinApi will Array, kriegt sie Array? [Raw Input]
 
Heyho,

GetRawInputDeviceList möchte laut Doku ein Array aus Records haben, tatsächlich darf man aber nur einen Zeiger auf das erste Element übergeben. Ist mein Ansatz mit dem dynamischen Array okay oder gibts da irgendwelche Stolperfallen?

Delphi-Quellcode:
var NumDevices: UINT;
    DeviceList: array of RAWINPUTDEVICELIST;
    DeviceListEntry: RAWINPUTDEVICELIST;
begin
  //Get number of devices
  GetRawInputDeviceList(nil, NumDevices, SizeOf(RAWINPUTDEVICELIST));

  //Prepare device list
  SetLength(DeviceList, NumDevices);

  //Fill device list
  GetRawInputDeviceList(@DeviceList[0], NumDevices, SizeOf(RAWINPUTDEVICELIST));
end;
Gruß,
Dani

Edit: Rechtschreibung

DGL-luke 9. Sep 2007 23:06

Re: WinApi will Array, kriegt sie Array?
 
Ja, das ist so gebräuchlich, nehme also an, das funktioniert so.

Dani 10. Sep 2007 00:08

Re: WinApi will Array, kriegt sie Array?
 
na denn... danke :)

Robert Marquardt 10. Sep 2007 05:21

Re: WinApi will Array, kriegt sie Array?
 
Ich habe nie Zeit gehabt mal ein paar Delphi-Sourcen zu diesem API zu schreiben. Kann ich die Ergebnisse dieses Experiments kriegen?

Dani 10. Sep 2007 19:01

Re: WinApi will Array, kriegt sie Array? [Raw Input]
 
Liste der Anhänge anzeigen (Anzahl: 3)
Zitat:

Zitat von Robert Marquardt
Ich habe nie Zeit gehabt mal ein paar Delphi-Sourcen zu diesem API zu schreiben. Kann ich die Ergebnisse dieses Experiments kriegen?

Ja, allerdings ist das Experiment noch nicht abgeschlossen. Mein Ziel ist, die Logitech Software SetPoint zu ersetzen. Im Moment wird aber noch für keine der Spezialtasten eine WM_INPUT Nachricht gesendet. Vielleicht verwende ich die falsche usage/usage page Kombination.

Als letzer Ausweg bleibt noch ein UMDF HID Filter Treiber, aber dafür bin ich zu blöd :stupid:

Robert Marquardt 11. Sep 2007 04:57

Re: WinApi will Array, kriegt sie Array? [Raw Input]
 
Das duerfte schwierig werden. Die uebliche Konstruktion solcher software ist das ein Filtertreiber mit einem normalen Mausinterface und einem Seitenausgang installiert wird. Die Trayapplikation sagt dem Treiber welche Teile der Daten er zu welchem Interface routen soll. Die Trayapplikation erledigt dann alle Sonderbelegungen und alle Buttons die Windows nicht versteht. Windows kennt nur maximal 5 Mausbuttons.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 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