2011-12-29 12 views
7

Chcę wywołać niektóre funkcje API systemu Windows, aby manipulować edytorem Windows Input Method Editor, aby moje emacs były aplikacjami obsługującymi IME. Jak mogę połączyć funkcje Windows API za pomocą Empsa LISP? Dziękujemy!Jak mogę wywoływać funkcje Windows API przy użyciu emacs-sepp?

+1

Czy na pewno chcesz to zrobić? Nie możesz określić metody wprowadzania danych z samego emacsa (np. Używając przepiórek)? Zwykle używam emacsa ze standardową angielską klawiaturą, aby działały wszystkie standardowe akordy emacs. – choroba

+0

@ Choroba, dziękuję. Ponieważ wbudowana metoda wprowadzania Emacsa jest trudna w użyciu, więc większość chińskich użytkowników Emacsa używa natywnego edytora IME systemu operacyjnego. Rozwiązałem ten problem, dodając niektóre funkcje do w32fns.c Emacs, a następnie wywołując je z elisp. GUN Emacs nie ma ** FFI ** (interfejsu funkcji obcych), więc nie mogę bezpośrednio wywoływać funkcji API systemu Windows z Emacs LISP. Jeszcze raz dziękuję. –

+0

Rozwiązałeś to? Powinieneś opisać swoje rozwiązanie w odpowiedzi, którą inni mogą zobaczyć (w tym przykład może być dobry), a następnie oznaczyć go jako zaakceptowaną odpowiedź. – phils

Odpowiedz

0

Myślę, że potrzebny jest interfejs proxy, ale używać w32-send-sys-command można robić małe rzeczy, kod 61776 można wysyłać skrótu może warto spróbować

1

nie wierzę jej można wywołać bezpośrednio natywnego kodu z emacs; najlepszy będziesz w stanie osiągnąć to proxy wywołania Windows API przez inny proces i komunikować się ze sobą za pośrednictwem IPC

Sprawdź to stackoverflow pytanie: load a dynamic library from elisp

Powiązane problemy