Manuel PHP
Précédent |  | Suivant

# CXVIII. API windows

# Introduction

Cette extension est une API générique d'accès aux DLL. Elle a été originalement écrite pour accéder aux API Win32 depuis PHP, mais vous pouvez l'utiliser pour accéder à d'autres fonctions exportées par des DLL.

Actuellement, les types supportés sont les types PHP génériques (chaînes de caractères, booléens, nombres, entiers et NULL), et les types que vous définissez avec w32api_deftype().

Avertissement
Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez ce module à vos risques et périls.

# Pré-requis

Cette extension ne fonctionne qu'avec le système Windows.

# Installation

Il n'y pas d'installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP.

# Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

# Types de ressources

Cette extension définit un type de ressource, utilisé pour les types de données créé par l'utilisateur. Le nom de cette ressource est "dynaparm".

# Constantes prédefinies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

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

# Exemples

Cet exemple lit la durée de vie du système, et l'affiche dans une boîte :

Exemple 1. Lit la durée de vie de la machine, et l'affiche

`<?php
// Définit les constantes nécessaire, issues de
// Visual Studio/Tools/Winapi/WIN32API.txt
define("MB_OK", 0);
// Chargement de l'extension
dl("php_w32api.dll");
// Enregistrement de la fonction GetTickCount, provenant de kernel32.dll
w32api_register_function("kernel32.dll",
"GetTickCount",
"long");
// Enregistrement de la fonction MessageBoxA issue de User32.dll
w32api_register_function("User32.dll",
"MessageBoxA",
"long");
// Lecture de la durée de vie de la machine
$ticks = GetTickCount();
// Conversion en texte lisible
$secs = floor($ticks / 1000);
$mins = floor($secs / 60);
$hours = floor($mins / 60);
$str = sprintf("Vous utilisez cet ordinateur depuis : ".
"\r\n %d millisecondes, ou \r\n %d secondes".
"ou \r\n %d minutes ou\r\n %d heures %d minutes.",
$ticks,
$secs,
$mins,
$hours,
$mins - ($hours*60));
// Affiche le message dans une boîte de dialogue avec un bouton OK
MessageBoxA(NULL,
$str,
"Uptime Information",
MB_OK);
?>`

Précédent | Sommaire | Suivant
vpopmail_set_user_quota | Niveau supérieur | w32api_deftype