Forum und email

W32api Functions

Úvod

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: Toto rozšírenie bolo presunuté do » PECL repozitáru a už neni pribalené s PHP od PHP 5.1.0.

Warning

Toto rozšírenie je EXPERIMENTÁLNE. Správanie tohto rozšírenia -- vrátane názvov jeho funkcií a hocičoho iného zdokumentovaného o tomto rozšírení -- sa može zmeniť bez povšimnutia v budúcom vydaní PHP. Používajte toto rozšírenie na svoje vlastné riziko.

Požiadavky

This extension will only work on Windows systems.

Inštalácia

Nie je potrebná žiadna inštalácia na použitie týchto funkcií; sú časťou jadra PHP.

Runtime Konfigurácia

Toto rozšírenie nemá žiadne konfiguračné direktívy definované v php.ini.

Typy zdrojov

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

Preddefinované Konštanty

Konštanty uvedené nižšie sú definované týmto rozšírením a budú dostupné iba keď rozšírenie bolo buď kompilované do PHP alebo dynamicky načítané za behu (runtime).

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)

Príklady

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