PHP: W32api functions - Manual
PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links 
search for in the  
previousvpopmail_set_user_quotaw32api_deftypenext
Last updated: Fri, 30 Aug 2002
view the printer friendly version or the printer friendly version with notes or change language to English | Brazilian Portuguese | Chinese | Czech | Dutch | Finnish | French | German | Italian | Japanese | Korean | Polish | Romanian | Russian | Spanish | Swedish | Turkish

CIII. W32api functions

Bevezet�s

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().

Figyelem

Ez a kiterjeszt�s K�S�RLETI JELLEGGEL M�K�DIK. Ez azt jelenti, hogy minden itt dokument�lt m�k�d�s, bele�rtve a f�ggv�nyek nev�t, m�k�d�s�t vagy b�rmi m�s, amit a kiterjeszt�s kapcs�n le�rtunk megv�ltozhat egy k�s�bbi PHP kiad�sban minden figyelmeztet�s n�lk�l. Ezt a kiterjeszt�st csak a saj�t felel�ss�gedre haszn�ld!

K�vetelm�nyek

This extension will only work on Windows systems.

Telep�t�s

Semmilyen telep�t�s nem sz�ks�ges ezen f�ggv�nyek haszn�lat�hoz, a PHP alapelemei.

Fut�sidej� be�ll�t�sok

Ez a kiterjeszt�s semmilyen konfigur�ci�s be�ll�t�sokat nem defini�l.

Er�forr�s t�pusok

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

El�re defini�lt �lland�k

Az itt list�zott �lland�kat ez a kiterjeszt�s defini�lja, �s csak akkor el�rhet�ek, ha az adott kiterjeszt�s be van ford�tva a PHP-be, vagy dinamikusan bet�lt�tt.

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)

P�ld�k

This example gets the amount of time the system has been running and displays it in a message box.

P�lda 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);
?>
Tartalom
w32api_deftype -- Defines a type for use with other w32api_functions
w32api_init_dtype --  Creates an instance of the data type typename and fills it with the values passed
w32api_invoke_function -- Invokes function funcname with the arguments passed after the function name
w32api_register_function -- Registers function function_name from library with PHP
w32api_set_call_method -- Sets the calling method used
User Contributed Notes
W32api functions
add a note about notes
[email protected]
30-Apr-2002 03:40

It should be noted that these functions are definately experimental.

I have got w32api_register_function() to work when using PHP4.2.0 RC4 from command line, but I have been unable to get them to work with Apache1.3.24 (WinNT4), and they seem to cause Apache 2.0.35 (WinNT4) to crash when they are used.

[email protected]
06-Aug-2002 08:32

In order to use most (perhaps all?) of the win32 API while running with a web server you have to give the server service permission to interact with the desktop. This is especially noticeable with the given example, where the script will try to display message boxes on the server's display.

Keep in mind, however, that you should think hard about the consequences of letting a web server interact with your desktop, especially if you're not the only one using the web server.

add a note about notes
previousvpopmail_set_user_quotaw32api_deftypenext
Last updated: Fri, 30 Aug 2002
show source | credits | stats | mirror sites
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by:
Last updated: Wed Sep 4 00:18:56 2002 CEST