例如: 有文件:aa.dll,aa.lib, 有接口:EXTERN_C int WINAPI Find()
手册原文<?php // Define constants needed, taken from // Visual Studio/Tools/Winapi/WIN32API.txt define("MB_OK", 0);// Load the extension in dl("php_w32api.dll");// Register the GetTickCount function from kernel32.dll w32api_register_function("kernel32.dll", "GetTickCount", "long");// Register the MessageBoxA function from User32.dll w32api_register_function("User32.dll", "MessageBoxA", "long");// Get uptime information $ticks = GetTickCount();// Convert it to a nicely displayable text $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));// Display a message box with only an OK button and the uptime text MessageBoxA(NULL, $str, "Uptime Information", MB_OK); ?>
那么你替换相应的dll库、方法名就可以了
手册里的并不是最新的,只是针对4.2.x的,楼主的需求是4.3.6,请改为如下方式: extension=php_w32api.dll$api = new win32; $api->registerfunction("int Find() From aa.dll"); $api->Find();
有文件:aa.dll,aa.lib,
有接口:EXTERN_C int WINAPI Find()
// Define constants needed, taken from
// Visual Studio/Tools/Winapi/WIN32API.txt
define("MB_OK", 0);// Load the extension in
dl("php_w32api.dll");// Register the GetTickCount function from kernel32.dll
w32api_register_function("kernel32.dll",
"GetTickCount",
"long");// Register the MessageBoxA function from User32.dll
w32api_register_function("User32.dll",
"MessageBoxA",
"long");// Get uptime information
$ticks = GetTickCount();// Convert it to a nicely displayable text
$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));// Display a message box with only an OK button and the uptime text
MessageBoxA(NULL,
$str,
"Uptime Information",
MB_OK);
?>
extension=php_w32api.dll$api = new win32;
$api->registerfunction("int Find() From aa.dll");
$api->Find();
http://pecl.php.net/package/ffi