« PHPの文字コードの設定 | メイン | mt-wizard.cgiでMovable Typeをインストール »

PHPからWindows APIを使う方法(情報求む)

現在、PHP5でWindows APIを使用する方法を模索中です…。

マニュアルのこの辺りの情報から、従来のPHP4の php_w32api.dll が、PHP5では php_ffi.dll に置き換えられたらしいことがわかって、
PECL4WIN(Windows用のPECLのサイト)のここから5.0.5用のモジュールを入手して(5.1以降の環境ではモジュールが認識されないようです)、
php/ext ディレクトリに放り込んで、iniファイルに一行追記して、いざ使ってみたのですが…、
Windows APIの使い方がわかりませんorz。

やりたいことは、アクセスしたユーザのWindowsへのログオンIDを取得することで、

$windows = new ffi ("[lib='user32.dll'] int MessageBoxA( int handle, char *text, char *caption, int type );" );
echo $windows->MessageBoxA(0, "Message For You", "Hello World", 1);

上記のコードは正常にMessageBoxが表示されるので、Windows API の呼び出しはできているようなのですが、

$windows = new ffi ("[lib='advapi32.dll'] long GetUserName(string &a, int &b);" );
$name = "";
$windows->GetUserName($name, 100);
echo $name;

こちらのコードは、

Fatal error: Call to undefined method FFI::GetUserName()

となってしまいます…。

どなたか詳しい方がいたら、どこがおかしいのかご教授くださいませ……。

トラックバック

このエントリのトラックバックURL:
http://inasphere.net/mt/mt-tb.cgi/4
(このエントリへの言及リンクのないトラックバックは反映されません)


コメントを投稿

(本文に日本語を含まないコメントは反映されません)

プロフィール

運営者:ina
詳細はプロフィール参照。

連絡先:
inamenai [at] gmail.com

現在このブログは更新停滞中です。はてなダイアリーの方へどうぞ。
Loading...

フィード

最新のはてなブックマーク

最新のTumblr

ライセンス

クリエイティブ・コモンズ・ライセンス
このブログは、上記のクリエイティブ・コモンズ・ライセンスで保護されています。

その他

track feed
  • track word