Hello, COM(Rhino) World!

Posted on 1月 24th, 2013 by cx20

COM(Rhino)

COM(Component Object Model)はマイクロソフトの提唱するプログラム部品の仕様である。
COM を用いて開発された部品であれば言語を問わず利用することができる。
Rhino 自身には、COM を呼び出す機能を持っていないが、別途ライブラリを経由することで呼び出すことが可能である。
以下は Rhino より JACOB(JAVA-COM Bridge) ライブラリを使用した COM クライアントの例となっている。

ソースコード

importPackage(com.jacob.com);
importPackage(com.jacob.activeX);
 
var shell = new ActiveXComponent("Shell.Application");
var hwnd = new Variant(0);
var title = new Variant("Hello, COM(JACOB) World!");
var option = new Variant(0);
var rootFolder = new Variant(36);
var params = java.lang.reflect.Array.newInstance(Variant, 4);
params[0] = hwnd;
params[1] = title;
params[2] = option;
params[3] = rootFolder;
var folder = shell.invoke( "BrowseForFolder", params );

実行方法

C:¥> jrunscript -cp jacob.jar;. Hello.js

実行結果

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

Tags:

Categories: COM, Java, Rhino

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

WP-SpamFree by Pole Position Marketing