Jeans & Development:
Deprecated: Function strftime() is deprecated in /home/u109394186/domains/rad51.net/public_html/jeans/jeans/libs/blog.php on line 333
2008年 07月の記事

suppon 0.1.0β [プログラミング]

2008年7月25日

suppon 0.1.0βを公開しました。ライセンスは、LGPLv2.1です。

readme.txtより
Suppon ver 0.1.0 beta (LGPL lisence ver 2.1)

Supponは、WSHにおいて、COM(ActiveX-DLL/OCX)をレジストリへの登録無しに利用で
きるようにするツールです。OyagameやSFC-miniなどを用いて作成したプログラムを
配布する際に用いることを前提として設計されています。

マニフェストは使用していませんので、Windows Vista/XPだけでなく、Windows 2000
でも利用可能です。

利用する際は、ActiveX-DLL/OCXファイルをsuppon.exeと同じフォルダに起き、
suppon.jpを編集して、プログラムID・ファイル名・CLSIDを設定してください。プ
ログラムID・CLSIDが不明の場合は、一度ActiveXをregsvr32.exeを用いてレジスト
リに登録すると、レジストリエディタを用いて確認することが出来ます。なお、
OyagameとSFC-miniについては、あらかじめ設定されています。

作成したWSHファイル(*.vbs, *.js, *.vbe, *.jse)は、suppon.exeにコマンドライ
ン(%1)として与えると、実行できます。あるいは、ファイル名をstart.vbsなどと
してsuppon.exeと同じディレクトリに置けば、コマンドライン無しでsuppon.exeを
ダブルクリックするなどして実行することも出来ます。スクリプト中でCOMオブジェ
クト作成の際は、CreateObject()やActiveXObject()関数ではなく、
WScript.CreateObject()メソッドを利用してください。なお、COMのイベント機能
は残念ながら利用できません。

suppon 0.1.0βは、ここからダウンロードできます。

Suppon開発中 [プログラミング]

2008年7月20日

wscript.exe用のマニフェストを書くより簡単に、WSH(VBScript/JScript)でRegistration-Free COMを使うための汎用ツールを開発中。

一つ前の記事の6つ目のコメントで書いたアイデアをプログラミングするだけである。が、そこで述べた『簡単なIDispatchクラス』が実際には簡単ではなく、ちゃんと仕様にのっとって記述しないと機能しないようで、その部分で今手間取っている。これが済めば、ほぼ出来上がり。

完成すれば、OyagameやSFC miniといった私の作成したCOMツールだけでなく、どのようなCOMでも、CLSIDとDLLファイル名を記述するだけで、レジストリに登録することなくVBScript/JScriptで使えるようになる(はず)。

Script Users' and Programmers' Private Object Navigationの略で、Supponと命名した。Oyagameとの亀つながりということで…。

ScriptControl用WScriptオブジェクト [プログラミング]

2008年7月13日

Oyagameを、Registration-Freeで使うのにScriptControlを利用するやり方は、Oyagameに限定したツールにするよりも、汎用ツールとしてすべてのCOMに対応できるようにしたほうがよさそう。

先の記事でも問題にしたが、WScriptオブジェクトをこのツールで供給すれば、かなり汎用性が出るはず。しかも、XP, Vistaだけでなく、2000, NTでも使える方法を見つけてあるので、ほとんどのケースで問題ないだろう(95/98/MEでも使えるかどうかは、不明)。

このWScriptオブジェクトの供給方法について、ほぼ出来上がったので、バックアップの意味も兼ねてメモ。

Nucleusの乗っ取り、その1:スキン変数を自由にマネージする。 [Nucleus]

2008年7月11日

久しぶりに、Nucleusネタ。乗っ取るといっても、クラッキングのことではなくて、プラグインを用いてコアの機能を大幅に変更してしまう話。

ある方とPMでやりとりしていたときに思いついたプラグインがあって、眠らせておくにはもったいないアイデアなのでここで紹介。

Nucleusのスキン変数は、コアで用意されているものと、プラグインで用意されているものと2種類ある。プラグインで用意できるものは、プラグイン名から『NP_』を除いた残りの名前だけ。

また、コアで用意されているものをプラグインでオーバライドすることはできない。例えば、NP_blog という名のプラグインを作成しても、スキン変数<%blog%>ではコアのコードが呼び出されてしまう。

コアの変更はせずに、これらを何とかしようという話。

ScriptControlの利用 [プログラミング]

2008年7月4日

先日とりあげた、wscript.exe用のマニフェストを書く方法に加えて、ScriptControlを利用する方法も試してみた。とりあえず、VB(VB5)を用いて簡単に作成したプログラムのソースコードは次のとおり。

registration-free COMをWSHで使う [プログラミング]

2008年7月1日

OyagameやSFC-miniは、インプロセスCOMサーバ(ActiveX-DLL)をregsvr32.exeを使ってレジストリに登録するという古い方法を使って、WSH(VBScript/JScript)でDLLにアクセスすることを可能にしている。WSH自身がすでに古くなりつつある技術なので、こういった古い技術に頼るのは仕方の無いところ。

一方で、こういった資産を生かそうという仕組みがWindows XP以降ではサポートされているようで、これを使えば、レジストリへの登録無しに、COMサーバが使える。したがって、管理者権限が無くても、COMサーバが供給するオブジェクトにアクセスすることができるようになる。

Oyagameを使うようなケースではこれは朗報で、作成したプログラムを配布する時の制限が無くなる事は大きい。