読者です 読者をやめる 読者になる 読者になる

標準出力

新しいもの、変わらないこと 自分の頭を通して考えてみました (stdout)

COMコンポーネントを利用してみる

python

今回は、WindowsにてpythonでCOMコンポーネントを利用してみます。
pythonは既にインストール済みとして、

まず、必要なライブラリをインストールします。

http://sourceforge.net/projects/pywin32/

からインストールされているpythonのバージョンのインストーラーをダウンロードして、インストール。
これで、[python-install-dir]\Lib\site-packages にライブラリがインストールされます。


次に自分の環境にどのようなCOMコンポーネントがインストールされているか確認する。
Windows SDKをインストールして。以下を管理者権限で実行。

regsvr32 "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\IViewers.Dll"

そして、Oleview.exeを管理者権限で実行。ちなみに自分の環境では、C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin に当該プログラムがインストールされていた。

ツリーの「Type Libraries」で各COMコンポーネントのインタフェースを確認することができる。


次に、各タイプライブラリのpython用ソースを生成する。win32com clientのインストールディレクトリに移動して、
cd C:\usr\local\python\2_7_5\Lib\site-packages\win32com\client
以下を実行
python makepy.py 

すると利用可能なタイプライブラリの一覧が表示されるので。ソースを生成したいライブラリを選択して「OK」を押下。

 ここでは、iTunesを選択してみた。生成したタイプライブラリの情報は、

python make.py -i "iTunes 1.13 Type Library"

で確認することができる。

さてようやくサンプルコードですが。。。

>>> import win32com.client
>>> foo = win32com.client.Dispatch("iTunes.Application")
>>> foo.Quit()

ウィンドウを最小化したり、音量を変更したりできるみたいですが今日はここまで



-Reference-
Quick Start to Client side COM and Python