1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.10 $ -->
<!-- Purpose: utilspec.windows -->
<!-- Membership: pecl -->
<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>
<note>
<para>
&pecl.moved-ver;5.1.0.
</para>
</note>
&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
-->
|