Mam przemysłowe tablety z ekranem dotykowym z systemem Windows 7 (to one). Ma zintegrowany skaner i aparat RFID/kodów kreskowych. Oba można uruchomić za pomocą przycisku sprzętowego. Chciałbym rozpoznać, kiedy naciśnięty zostanie jeden z tych przycisków. Napisałem małą aplikację testową z GlobalKeyEventListener, ale żadne zdarzenie nie jest uruchamiane, gdy naciśnięty zostanie jeden z tych przycisków. Wszystkie normalne zdarzenia klawiatury są uruchamiane. Czy ktoś wie, czy i jak tego rodzaju zdarzenia przycisku są dostępne w Javie? Co jeszcze powinienem spróbować przed powiedzeniem klientowi, że nie jest to możliwe. Dzięki.Jak uzyskać dostęp do przycisku sprzętowego w Javie
Odpowiedz
Pojawi się interfejs programowania do słuchania tych przycisków i jest mało prawdopodobne, aby połączenie z wbudowaną wirtualną maszyną Java. Zajmę się pisaniem programu/usługi/cokolwiek, co słuchało tego przycisku pcha, że mógłbym skompilować do biblioteki DLL systemu Windows, a następnie wywołać DLL z programu Java. DLL systemu Windows może nasłuchiwać rzeczy, a klasy Java mogą rejestrować się jako detektory zdarzeń z bibliotek DLL. Nie jest to prawdopodobnie trywialne, najtrudniejszą częścią dla mnie byłby sam program DLL (bez java tam, C lub C# lub coś, co lubi Microsoft), a następnie Java Native Interface lub API lub cokolwiek, co można nazwać DLL.
Jeśli zajdziesz tak daleko, polecam produkt, którego nazwy nie pamiętam; pozwala na wywoływanie bibliotek DLL bez użycia w ogóle kodu JNI "kleju", tzn. kiedyś trzeba było pisać kod C z bardzo specyficznym zbiorem reguł do wywoływania z Javy, a ten inny produkt ładnie eliminuje to całkowicie.
Powodzenia.
Zobacz także JNA. – Puce
Zależy od tego, co robi przycisk. Z podobnym problemem poradziłem sobie z całkiem banalnym rozwiązaniem. W moim przypadku był to C/ASM lub ciągle szukam zmiany własności. W moim przypadku udało mi się uruchomić moją aplikację w ramach procesu w tle, aby stale nasłuchiwać zmian właściwości w rejestrze. Zdarzy się to za każdym razem, gdy przycisk zostanie wciśnięty, gdy właściwość zmieni się i jestem w stanie na nim działać. –
- 1. Jak uzyskać tekst przycisku w Javie?
- 2. Jak uzyskać dostęp do wartości przycisku przesyłania formularza w Django?
- 3. Jak uzyskać dostęp do pliku/folderu w Javie 7 java.nio.file.Path?
- 4. Jak uzyskać dostęp do przycisku wewnątrz „obejmują” układ
- 5. iOS: Dostęp do urządzenia sprzętowego regulatora głośności dźwięku
- 6. Dostęp do wieloelementowego pliku gzip (w Javie)
- 7. Jak uzyskać dostęp do zasobów do rysowania (kolorów) w java
- 8. Jak uzyskać dostęp do RouteTable.Routes.MapHttpRoute?
- 9. Jak uzyskać dostęp do aplikacji?
- 10. Jak uzyskać dostęp do GetGlobalResourceObject()
- 11. Jak uzyskać dostęp do elementu przycisku z powrotem w sposób uniwersalny w obszarze UITests w Xcode?
- 12. Jak uzyskać dostęp do ARGV w Mathematica?
- 13. Jak uzyskać dostęp do sesji w webmethod?
- 14. Jak uzyskać dostęp do WinRM w C#
- 15. Jak uzyskać dostęp do process.env w Meteor?
- 16. Jak uzyskać dostęp do mikrofonu w JS?
- 17. WPF Jak uzyskać UserControl do dziedziczenia przycisku?
- 18. Jak uzyskać dostęp do elementów HTML zawartych w widoku internetowym?
- 19. Parsowanie schematu XSD za pomocą XSOM w Javie. Jak uzyskać dostęp do typów elementów i złożonych
- 20. Jak uzyskać dostęp do głównego obiektu klasy z funkcji wewnątrz klasy w Javie?
- 21. Jak uzyskać dostęp do nadrzędnego elementu klasy z zagnieżdżonej klasy w Javie?
- 22. Jak uzyskać dostęp do stanu dziecka w React?
- 23. Dostęp do klasy zewnętrznej "super" z klasy wewnętrznej w Javie
- 24. jak uzyskać dostęp do wewnętrznych danych jquery?
- 25. Jak uzyskać dostęp do aktualnie wykonywanej NSOperacji?
- 26. CMutablePointer - jak uzyskać do niego dostęp?
- 27. Angular4: jak uzyskać dostęp do lokalnego json?
- 28. Jak uzyskać dostęp do kontaktów użytkownika Gmaila?
- 29. Pycharm - Jak uzyskać dostęp do panelu "Zegarki"?
- 30. javascript: jak uzyskać dostęp do właściwości statycznych
Jeśli zdarzenie nie zostanie wywołane po naciśnięciu tego określonego klawisza i zostanie uruchomione po naciśnięciu normalnego klawisza klawiatury, klucz sprzętowy nie zostanie zarejestrowany jako klucz wirtualny. Moja sugestia to posiadanie detektora zdarzeń, który patrzy na właściwość, którą zmienia przycisk sprzętowy, a kiedy to się zmieni, możesz na nim działać. –