W32api functions

PHP Handbuch
Zurück |  | Nach vorne

# CIV. W32api functions

# Einführung

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().

Warnung
Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

# Anforderungen

This extension will only work on Windows systems.

# Installation

Für diese Funktionen ist keine Installation erforderlich, diese gehören zum Grundbestand von PHP.

# Laufzeit Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der `php.ini`.

# Resource Typen

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

# Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

`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)

# Beispiele

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

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

Zurück | Zum Anfang | Nach vorne
vpopmail_set_user_quota | Nach oben | w32api_deftype