|
Table des matières
CLXX. API windowsIntroductionCette 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().
Pré-requisCette extension ne fonctionne qu’avec le système Windows. InstallationIl n’y pas d’installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP. Configuration à l'exécutionCette extension ne définit aucune directive de configuration. Types de ressourcesCette 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é-définiesCes 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” (entier) “DC_BORLAND” (entier) “DC_CALL_CDECL” (entier) “DC_CALL_STD” (entier) “DC_RETVAL_MATH4” (entier) “DC_RETVAL_MATH8” (entier) “DC_CALL_STD_BO” (entier) “DC_CALL_STD_MS” (entier) “DC_CALL_STD_M8” (entier) “DC_FLAG_ARGPTR” (entier) ExemplesCet exemple lit la durée de vie du système, et l’affiche dans une boîte :
<?php // Définit les constantes nécessaires, 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); ?> Table des matières w32api_deftype – Définit un type pour utilisation avec les fonctions windows APIw32api_init_dtype – Crée une instance de type de données Win32 et la remplitw32api_invoke_function – Appelle une fonction windows 32w32api_register_function – Enregistre une fonction Win32 dans PHPw32api_set_call_method – Modifie le type d’appel de la fonction Win32 Travail collaboratifContribuez, en ajjoutant des elements a cette page de manuel : Merci de votre aide |