2011-12-29 16 views
7

Quiero llamar a algunas funciones de API de Windows para manipular el Editor de métodos de entrada de Windows para hacer que mi Emacs sea una aplicación compatible con IME. ¿Cómo puedo llamar a las funciones de la API de Windows usando el ceceo de Emacs? ¡Gracias!¿Cómo puedo llamar a las funciones de la API de Windows usando emacs lisp?

+1

Está seguro de querer hacerlo? ¿No puedes especificar el método de entrada de emacs (por ejemplo, usando codornices)? Usualmente uso emacs con teclado inglés estándar para que funcionen todos los acordes estándar de emacs. – choroba

+0

@choroba, gracias. Debido a que el método de entrada incorporado de Emacs es difícil de usar, la mayoría de los usuarios de Emacs chinos usan el IME nativo del sistema operativo. He resuelto este problema agregando algunas funciones a w32fns.c de Emacs y luego llamándolas desde elisp. GUN Emacs carece de ** FFI ** (interfaz de función externa), por lo que no puedo llamar directamente a las funciones de la API de Windows desde Emacs lisp. Gracias de nuevo. –

+0

¿Has resuelto esto? Debe describir su solución en una respuesta para que otros la vean (incluido un ejemplo sería bueno), y luego marcarla como la respuesta aceptada. – phils

Respuesta

0

Creo que tal vez necesito una interfaz de proxy, pero el uso w32-send-sys-command puede hacer pequeñas cosas, código 61776 puede enviar tecla de acceso directo tal vez vale la pena intentarlo

1

yo no creer que es posible llamar directamente a código nativo de emacs; el mejor usted será capaz de lograr es proxy de llamadas a la API de Windows a través de otro proceso, y comunicarse con él a través del IPC

Comprobar esta pregunta StackOverflow: load a dynamic library from elisp

Cuestiones relacionadas