ここ数日せっせとハックしてます。
自宅には Windows マシンがないので OS インストールからでした。
Linux マシンの qemu/kvm に Vista をインストール。
ついで Cygwin, Meadow, SBCL, SLIME, VS2008C++Express, WIN32SDK をインストール。
そしてようやく開発開始です。
C ではコードを書かず、cffi を使って Lisp のコードだけで作成する方針でいきます。
VARIANT の union にやられながら、とりあず BOOL, BST, IDispatch だけを実装して、次のコードが動くようになりました。
IE でページを表示してタイトルを取得しています。
Excel のサンプルを作りたいところですが、Excel を持っていないので。。。とても古いバージョンがどっかにあったかなぁ。
(let ((ie (create-instance "InternetExplorer.Application")))
(property ie :visible t)
(invoke ie :navigate "http://sbcl.sourceforge.net/")
(loop while (property ie :busy)
do (sleep 0.5))
(let ((document (property ie :document)))
(format t "document title is \"~a\".~%" (property document :title)))
(sleep 3)
(invoke ie :quit))
やっぱり名前は cl-win32ole ですよね。
素晴らしいです。実現を楽しみにしています。
返信削除コメントありがとうございます。はげみになります。
返信削除できあがったら、公開していただけると嬉しいところです。本当はお手伝いできるといいんですが、今はそこまでできなくて申し訳ないんですが・・・・。
返信削除ちゃっとできあがったら common-lisp.net にあげたいな、と思っています。
返信削除でも、とりあえず Googel code にあげようかなぁ。
いまでもなんとか動かないことはないので。。。
> 本当はお手伝いできるといいんですが、今はそこまでできなくて申し訳ないんですが・・・・。
いえいえ。
こんなふうにコメントをくださるだけでも嬉しいです。