Seite 1 von 2
Problem mit InitKeyboard()
Verfasst: 18.11.2004 17:51
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
Verfasst: 18.11.2004 21:08
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

Verfasst: 19.11.2004 11:07
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
Re: Problem mit InitKeyboard()
Verfasst: 19.11.2004 11:29
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?
Verfasst: 19.11.2004 12:25
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
Verfasst: 19.11.2004 19:24
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.
Verfasst: 20.11.2004 12:46
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
Verfasst: 20.11.2004 13:41
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
Verfasst: 20.11.2004 20:12
von ts-soft
Haste vielleicht nen Tastatur-Treiber installiert?
Verfasst: 20.11.2004 20:53
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.