Archive for 5月 25th, 2012

  1. Hello, COM(Python) World!

    Posted on 5月 25th, 2012 by cx20

    Python

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

    ソースコード

    import win32com.client
     
    shell = win32com.client.Dispatch('Shell.Application')
    folder = shell.BrowseForFolder( 0, "Hello, COM(Python) World!", 0, 36 )

    実行方法

    C:¥> python hello.py

    実行結果

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

    Posted on 5月 25th, 2012 by cx20

    PHP

    COM(Component Object Model)はマイクロソフトの提唱するプログラム部品の仕様である。
    COM を用いて開発された部品であれば言語を問わず利用することができる。
    以下は PHP による COM クライアントの例となっている。
    なお、PHP 5.4.5 / 5.3.15 より、COM サポートは既定では組み込まれていない為、使用するには、以下の設定を追加する必要がある。

    PHP 設定

    [COM_DOT_NET]
    extension = php_com_dotnet.dll

    ソースコード

    <?php
    $shell = new COM("Shell.Application");
    $folder = $shell->BrowseForFolder(0, "Hello, COM(PHP) World!", 0, 36 );
    ?>

    実行方法

    C:¥> php -f hello.php

    実行結果

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