Ich arbeite an Windows, aber ich bin hier auf dem Mac stecken. Ich habe das Canon SDK und habe dafür einen JNA
Wrapper gebaut. Es funktioniert gut unter Windows und benötigt etwas Hilfe mit Mac. In der SDK gibt es eine Funktion, wo man eine Callback-Funktion registrieren kann. Grundsätzlich tritt beim Auftreten eines Ereignisses in der Kamera die Callback-Funktion auf.Erhalten Sie Ereignisse von OS
Auf Fenstern, nach der Registrierung, ich brauche User32
zu verwenden, um das Ereignis zu bekommen und um das Ereignis zu versenden von:
private static final User32 lib = User32.INSTANCE;
boolean hasMessage = lib.PeekMessage(msg, null, 0, 0, 1); // peek and remove
if(hasMessage){
lib.TranslateMessage(msg);
lib.DispatchMessage(msg); //message gets dispatched and hence the callback function is called
}
Im api, ich habe nicht eine ähnliche Klasse in Mac zu finden. Wie gehe ich hier vor?
PS: Die JNA
api für Unix ist umfangreich und ich konnte nicht herausfinden, was zu suchen ist. Die könnte helfen
Sie werden wahrscheinlich GCEventRef, prüfen wollen https://developer.apple.com/library/mac/documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference .html –
Die meisten JNA-Plattform-Mappings für Unix sind für X11, und es gibt nicht viel speziell für OS X. [Rococoa] (http://code.google.com/p/roccoako/) hat viel mehr von OS X-Mappings. – technomage
@technomage Ich kann jetzt nicht nach Rococoa wechseln, weil ich dann den Code neu schreiben muss. Windows eins funktioniert schon gut. Ich brauche nur etwas Technik, um die Nachricht zu bekommen – Jatin