<?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.7 $ --> <reference id="ref.w32api"> <title>W32api Functions</title> <titleabbrev>W32api</titleabbrev> <partintro> <section id="w32api.intro"> &reftitle.intro; <para> 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. </para> <para> Currently supported types are generic PHP types (strings, booleans, floats, integers and nulls) and types you define with <function>w32api_deftype</function>. </para> &warn.experimental; </section> <section id="w32api.requirements"> &reftitle.required; <para> This extension will only work on Windows systems. </para> </section> <section id="w32api.installation"> &reftitle.install; &no.install; </section> <section id="w32api.configuration"> &reftitle.runtime; &no.config; </section> <section id="w32api.resources"> &reftitle.resources; <para> This extension defines one resource type, used for user defined types. The name of this resource is <literal>"dynaparm"</literal>. </para> </section> &reference.w32api.constants; <section id="w32api.examples"> &reftitle.examples; <para> This example gets the amount of time the system has been running and displays it in a message box. </para> <example> <title>Get the uptime and display it in a message box</title> <programlisting role="php"> <![CDATA[ <?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); ?> ]]> </programlisting> </example> </section> </partintro> &reference.w32api.functions; </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->