PHP Manual

w32api の例

以下の例は、システムの実行時間を取得し、メッセージボックスに表示するものです。

例1 uptime を取得し、メッセージボックスに表示する

<?php
// 必要な定数を定義します。これは
// Visual Studio/Tools/Winapi/WIN32API.txt から取得できます。
define("MB_OK"0);

// 拡張モジュールを読み込みます。
dl("php_w32api.dll");

// kernel32.dll の GetTickCount 関数を登録します。
w32api_register_function("kernel32.dll"
                         
"GetTickCount",
                         
"long");
                         
// User32.dll の MessageBoxA 関数を登録します。
w32api_register_function("User32.dll",
                         
"MessageBoxA",
                         
"long");

// uptime 情報を取得します。
$ticks GetTickCount();

// それを読みやすい形式に変換します。
$secs  floor($ticks 1000);
$mins  floor($secs 60);
$hours floor($mins 60);

$str sprintf("You have been using your computer for:" .
                
"\r\n %d Milliseconds, or \r\n %d Seconds" .
                
"or \r\n %d mins or\r\n %d hours %d mins.",
                
$ticks,
                
$secs,
                
$mins,
                
$hours,
                
$mins - ($hours*60));

// OK ボタンと uptime のみのメッセージボックスを表示します。
MessageBoxA(NULL
            
$str
            
"Uptime Information"
            
MB_OK);
?>

PHP Manual