Hello, COM(Haskell) World!

Posted on 1月 27th, 2013 by cx20

COM(Haskell)

COM(Component Object Model)はマイクロソフトの提唱するプログラム部品の仕様である。
COM を用いて開発された部品であれば言語を問わず利用することができる。
以下は Haskell にて COM support library を使用した COM クライアントの例となっている。

ソースコード

import System.Win32.Com
import System.Win32.Com.Automation
 
main = do
    coInitialize
    shell <- createObject "Shell.Application";
    method0 "browseForFolder" [inInt 0, inString "Hello, COM(Haskell) World!", inInt 0, inInt 36] shell

コンパイル方法

C:¥> ghc Hello.hs

実行結果

+----------------------------------------+
|Browse For Folder                    [X]|
+----------------------------------------+
| Hello, COM(Haskell) Wolrd!             |
|                                        |
| +------------------------------------+ |
| |[Windows]                           | |
| | +[addins]                          | |
| | +[AppCompat]                       | |
| | +[AppPatch]                        | |
| | +[assembly]                        | |
| |     :                              | |
| |     :                              | |
| |     :                              | |
| +------------------------------------+ |
| [Make New Folder]    [  OK  ] [Cancel] |
+----------------------------------------+

Tags:

Categories: COM, Haskell