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.

Ρυθμίσεις κατά την εκτέλεση

Αυτή η επέκταση δεν έχει directives ρύθμισης ορισμένα στο php.ini.

Τύποι Πόρων

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

Προκαθορισμένες Σταθερές

Οι σταθερές παρακάτω ορίζονται από αυτή την επέκταση, και θα είναι διαθέσιμες μόνο αν η επέκταση έχει γίνει compile μέσα στην 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