目次
はじめに
このページで紹介していることはCOMオブジェクトをHSPに使えるようになるまでを説明しており、COMに関して具体的な 説明は省いています。
COMオブジェクトとは?
COMとはオブジェクト指向プログラミングにおいて重要な部分で、
- オブジェクト
- メソッド
- プロパティ
オブジェクトというのは具体的には「物」にあたり、この「物」に対してのこのように動きなさいだとかという指令を 出すのがメソッド。
これはこのくらいの大きさでこんな色をするなどといった細かい特徴を指定するのがプロパティになります。
例えば、よくあるRPGの戦士を「物」だとして考えてみると、メソッドは攻撃・防御・魔法 といったコマンドに値します。
そしてプロパティはその 戦士の攻撃力 防御力 魔力 などといったものに該当します。
このようにしてひとつひとつを「物」として区別することにより、スクリプトが複雑にならないですむわけです。
こういうような動作のまとまりをWindows,またはインストールしたソフトウェアがPCにCOMオブジェクトとしてインストールされ、 HSPプログラマーである自分は、そのインストールされたCOMオブジェクトをメソッドとプロパティを設定するだけで利用できるという なんともすばらしい機能なのです。
私自身、最初はCOMに関して抵抗がありましたが、使ってみると意外と簡単なものです。
COMを使ってみる
ではさっそくCOMを使ってみましょう!
newcom com,"WScript.Shell"
mcall com,"Run",dir_sys+"/notepad.exe"
このスクリプトを実行させてみてください。
どうでしょうか?ちゃんとメモ張は開いたでしょうか?
このスクリプトではexec命令同じ動きをしていますね。
このスクリプトでは、newcom命令でWScript.Shellを使ったCOMオブジェクトを作成しています。 その作成されたCOMオブジェクトにメソッドやらプロパティやらを設定するための変数がcomです。
それを、2行目のmcallが変数comのRunというメソッドにメモ帳のパスを渡した。という動作をしています。 つまり、Runというメソッドがパラメータのdir_sys+"/notepad.exe"のアプリケーションを実行したわけです。
ではもう少し深くまで入っていくと、「WScript.Shell」ってなんだ…と思うでしょうが、これがWindowsが提供している COMオブジェクトそのものです。このWscriptというのはIEをインストールするとついてくるもので、Windows Script Hostと呼ばれる COMオブジェクトです。Runのようなメソッド以外にもたくさんのメソッドやプロパティがあり、HSPではできないようなことも いろいろとやってくれる優れものです^^
どうでしょうか? たった2行の短いスクリプトですがCOMオブジェクトには違いないです。 「WScript.Shell」以外にもWindowsなどから提供されているCOMオブジェクトはまだまだたくさんあるので幅広く応用が利きます。