Problem mit InitKeyboard()

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Problem mit InitKeyboard()

Beitrag von Kukulkan »

Hallo,

Ich erhalte immer folgende Fehlermeldung beim Aufruf von InitKeyboard() in PB 3.92:

Der Prozedureinsprungpunkt "GetRawInputDeviceList" wurde in der DLL "USER32.dll" nicht gefunden.

InitKeyboard() liefert dann 0 als Ergebnis. Ich habe W2000 mit SP4, DirectX 9c.

Habe DX9c nochmal drüberinstalliert, absolut aktuellste Grafikkartentreiber (nVidia GeForce4) installiert. Ohne Erfolg...

Woran kann das liegen? Hilfe?

Volker
Benutzeravatar
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

Beitrag von ts-soft »

DirectX hat mit user32.dll nichts zu tun. Bei mir geht's.

Wahrscheinlich eine Datei in den PureBasic-Libraries defekt oder fehlt. Such mal nach ...\PureLibraries\Windows\user32. Ansonsten PB neuinstallieren. Vielleicht ist auch die User32.dll in System32 defekt. Wurde vielleicht von Virus oder ähnlichem Manipuliert. System-Checken. Wenn's nicht hilft SP4 nochmals installieren. Wenn garnichts geht dann die allmonatliche Windows-Neuinstallation :D
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.
Bild
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Beitrag von Kukulkan »

Hallo ts-soft,

> Ansonsten PB neuinstallieren.

Eigentlich ist das Windows komplett neu (mit SP4). Dann habe das aktuelle PB mit dem aktuellen Setup von V3.92 aufgespielt. Ansonsten habe ich nichts gemacht. Die User32.dll ist exakt die gleiche wie auf meinen anderen W2K-Rechnern. Ich werde die PB-Libs nochmals checken...

Der Virenscanner wird alle zwei Tage mit einem Update bedacht und bis in's Internet sind insgesamt drei Firewalls zu durchlaufen (Desktop, Server, Router). Einen Virus schliesse ich also aus (zumal ich weder IE noch Outlook benutze. Alles mit Opera).

Volker
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Problem mit InitKeyboard()

Beitrag von Danilo »

Volker Schmid hat geschrieben:Der Prozedureinsprungpunkt "GetRawInputDeviceList" wurde in der DLL "USER32.dll" nicht gefunden.

InitKeyboard() liefert dann 0 als Ergebnis.
Diese Funktion ist auch nicht in dieser DLL.

Was mich allerdings hier wundert: Wenn dieser Import in
Deiner EXE beim laden nicht gefunden wurde, dann wird
das Programm sofort beendet, also noch bevor irgendwas
aus der EXE ausgeführt wurde.
Wie kannst Du da wissen was InitKeyboard() zurückliefert?

Bei welchem Code kommt denn genau dieser Fehler?
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Beitrag von Kukulkan »

Hallo Danilo,
Bei welchem Code kommt denn genau dieser Fehler?
Das hier genügt:

Code: Alles auswählen

MessageRequester("Test","InitKeyboard() liefert: " + Str(InitKeyboard()))
End
Erst erhalte ich den Fehler und dann eine Messagebox die als Ergebnis eine eine 0 angibt. Bemerkt habe ich das bei einem Programm das bisher so gestartet ist:

Code: Alles auswählen

If InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "Can't open DirectX 7 or later", 0)
  End
EndIf
Volker
Benutzeravatar
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

Beitrag von ts-soft »

@Danilo
Bei mir unter WinXp befindet sich diese Funktion in der DLL und erwartet drei Parameter. Habe jetzt im PlatformSDK nachgesehen. Funktion wird nur unter XP unterstützt.
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.
Bild
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Beitrag von Kukulkan »

Hallo,
Bei mir unter WinXp befindet sich diese Funktion in der DLL und erwartet drei Parameter. Habe jetzt im PlatformSDK nachgesehen. Funktion wird nur unter XP unterstützt.
Wie? Auf meinem Laptop mit W2000 Prof funktioniert das InitKeyboard() aber problemlos. Nur auf meinem neuen Rechner mit nVidia-Chipsatz nichtmehr. Ich habe auch festgestellt, dass ich mit Musiksoftware Probleme habe (hängt sich beim suchen von PlugIn's auf). Was kann das sein????

Volker
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Bei mir funktionieren beide Methoden welche bei dir einen Fehler ausgeben Problemlos, als Rückgabe von InitKeyboard() erhalte ich "1".
OS: WinXP pro ohne jegliche SPs
Benutzeravatar
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

Beitrag von ts-soft »

Haste vielleicht nen Tastatur-Treiber installiert?
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.
Bild
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

joar, halt das Ding von Logitech. iTouch heißt das. Aber sollte es daran liegen? Wäre doch sicher schon früher aufgefallen wenn man einen nicht Standard-WIndows-Tastaturtreiber drauf haben müsste.
Antworten