Archive for 1月 11th, 2013

  1. Hello, Win32 API(Clojure) World!

    Posted on 1月 11th, 2013 by cx20

    Win32 API(Clojure)

    Win32 API は、Windows の機能にアクセスする為の API(Application Programming Interface)である。
    以下は Clojure にて SWT の非公開 API を使用した Win32 API 呼出しの例となっている。

    ソースコード

    (import 
      (org.eclipse.swt.internal.win32 OS)
      (org.eclipse.swt.internal.win32 TCHAR))
     
    (def lpText
      (TCHAR. 0 "Hello, Win32 API World!" true))
     
    (def lpCaption 
      (TCHAR. 0 "Hello, World" true))
     
    (. OS (MessageBox 0 lpText lpCaption OS/MB_OK))

    実行方法

    C:¥> SET CLASSPATH=org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar;%CLASSPATH%
    C:¥> clj Hello.clj

    実行結果

    ---------------------------
    Hello, World!
    ---------------------------
    Hello, Win32 API World!
    ---------------------------
    OK   
    ---------------------------