2011-12-29 92 views
7

我想调用一些Windows API函数来操作Windows输入法编辑器,使我的Emacs成为一个支持IME的应用程序。我如何使用Emacs lisp调用Windows API函数? 谢谢!如何使用emacs lisp调用Windows API函数?

+1

你真的想这样做?你不能从emacs本身指定输入方法(例如使用quail)吗?我通常使用带标准英文键盘的emacs,以便所有标准的emacs和弦都能正常工作。 – choroba 2011-12-29 10:32:05

+0

@choroba,谢谢。由于Emacs的内置输入法很难使用,所以大多数中国Emacs用户使用操作系统的本地IME。我已经通过向Emacs的w32fns.c添加了一些函数,然后从elisp调用它们来解决了这个问题。 GUN Emacs缺少** FFI **(外部函数接口),所以我无法直接从Emacs lisp调用Windows API函数。再次感谢你。 – 2011-12-30 03:34:46

+0

所以你已经解决了这个问题?你应该在其他人看到的答案中描述你的解决方案(包括一个例子是好的),然后将其标记为接受的答案。 – phils 2012-03-16 05:55:25

回答

0

我想,也许需要代理接口,而是使用w32-send-sys-command能做小事情, 代码61776可以发送热键也许值得一试

1

我不相信它可以直接调用从Emacs的本地代码;你就可以达到最佳的是代理通过另一个进程调用的Windows API,并通过IPC与它通信

检查这个计算器的问题: load a dynamic library from elisp