Forum und email

W32api Functions

הקדמה

This extension is a generic extension API to DLLs. This was originally written to allow access to the Win32 API from PHP, although you can also access other functions exported via other DLLs.

Currently supported types are generic PHP types (strings, booleans, floats, integers and nulls) and types you define with w32api_deftype().

Note: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Warning

תוספת זאת היא ניסיונית. ההתנהגות של תוספת זאת -- כולל השמות של הפונקציות שלה וכל הדברים אשר מתועדים כאן על תוספת זאת -- יכולים להשתנות ללא התרעה בהפצות עתידיות של PHP. השתמש בתוספת זאת על אחריותך בלבד.

דרישות

This extension will only work on Windows systems.

התקנה

לא קיימים דרישות הקתנה על מנת להשתמש בפונקציות אלה; הן חלק מליבת PHP.

הגדרות הרצה

לתוספת זאת אין שום הנחיות הגדרה מוגדרות בתוך php.ini.

סוגי משאבים

This extension defines one resource type, used for user defined types. The name of this resource is "dynaparm".

קבועים מוגדרים מראש

הקבועים להלן מוגדרים ע"י תוספת זאת, ויהיו זמינים רק כאשר תוספת זאת או מוקמפלת לתוך PHP או טעונה באופן דינמי בזמן הרצה.

DC_MICROSOFT (integer)
DC_BORLAND (integer)
DC_CALL_CDECL (integer)
DC_CALL_STD (integer)
DC_RETVAL_MATH4 (integer)
DC_RETVAL_MATH8 (integer)
DC_CALL_STD_BO (integer)
DC_CALL_STD_MS (integer)
DC_CALL_STD_M8 (integer)
DC_FLAG_ARGPTR (integer)

דוגמאות

This example gets the amount of time the system has been running and displays it in a message box.

Example#1 Get the uptime and display it in a message box

<?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);
?>

Table of Contents