プログラミング

PHPでWin32APIを呼び出す その2(SFC-mini ver 1.050α)

2007年2月14日

 SFC-mini ver 1.050αを作成。とりあえず、PHPからWin32APIが呼び出せるようにしてみた。プロパティ名が無い状態でCOMオブジェクトに接続しようとする場合、『sfc_null』をプロパティ名として指定すればよいようにした。例えば、

<?php
$api=new COM("SfcMini.DynaCall");
$api->Declare("user32","MessageBoxA");
$api->sfc_null(0,"ANSI String, vbOkCancel","SfcMini.DynaCall",1);
?>

とすればMessageBoxAにアクセスできる。ただしこのサンプルコードは、Apacheをサービスとして起動している場合にはうまく働かない可能性があるので、注意(おそらく、Apacheサービスに対し、デスクトップとの対話を可能にしておく必要アリ)。

 このやり方でどこまで出来るかは、現在調査中。最終的には、PHPでSFC-miniを容易に扱えるクラス(SFCクラス)とともに配布予定。

(ここからダウンロードできます) ライセンスはLGPLです(ソースコードご入用の方は、連絡ください)。

まだアルファーバージョンなので、今後仕様が変わる可能性があります。使用の際は注意してください。

コメント

Kat (2007年7月25日 17:41:32)

どうやら、構造体はSfcMini.Structureオブジェクトでは作成できない模様。代わりに、SfcMini.MachineCodeオブジェクトで作成できると思われる。ただし、このオブジェクトへ値を代入することは出来るが、内容を読み出すことが標準では出来ないため、その方法を考慮中。

コメント送信