2011-12-29 75 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

相關問題