 |
CLXIX. Funzioni W32api
Questa è una generica API verso le DLL. In origine fu scritta per consentire
l'accesso alle API Win32 dal PHP, sebbene si possa anche accedere
a funzioni esportate da altre DLL.
Attualmente i tipi di dati supportati dal modulo sono i generici tipi PHP
(strings, booleans, floats, integers e null) e i tipi definiti dall'utente tramite w32api_deftype().
Nota:
Questo modulo è stato spostato nel repository PECL e non sarà più rilascio con il
PHP dalla versione 5.1.0.
Avvertimento | Questo modulo è
SPERIMENTALE. Ovvero, il comportamento di queste
funzioni, i nomi di queste funzioni, in definitiva tutto ciò
che è documentato qui può cambiare nei futuri rilasci
del PHP senza preavviso. Siete avvisati, l'uso di questo modulo
è a vostro rischio. |
Questo modulo gira solo su sistemi Windows.
Non è necessaria nessuna installazione per usare queste
funzioni, esse fanno parte del core di PHP. Questa estensione non definisce
alcuna direttiva di configurazione in php.ini
Questo modulo definisce un solo tipo di risorsa utilizzata per i tipi di dati definiti dall'utente.
Il nome i questa risorsa è "dynaparm".
Queste costanti sono definite da questa estensione e
sono disponibili solo se l'estensione è stata compilata
nel PHP o se è stata caricata dinamicamente a runtime.
Nel seguente esempio si ottiene da quanto tempo il sistema è attivo
ed il risultato viene visualizzato in una finestra.
Esempio 1. Ottenere il tempo di attività e visualizzarlo in una finestra
<?php // Definizione delle costanti richieste, dati ottenuti da // Visual Studio/Tools/Winapi/WIN32API.txt define("MB_OK", 0); // Carico il modulo dl("php_w32api.dll"); // Registrazione della funzione GetTickCount da kernel32.dll w32api_register_function("kernel32.dll", "GetTickCount", "long"); // Registrazione della funzione MessageBoxA da User32.dll w32api_register_function("User32.dll", "MessageBoxA", "long"); // Ottiene il dato cercato $ticks = GetTickCount(); // Converte in formato umano $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)); // Visualizza la finestra con il bottone di OK MessageBoxA(NULL, $str, "Uptime Information", MB_OK); ?>
|
|
|  |