note 30826 deleted from ref.w32api by sobak
| From: | sobak@php.net | Date: | Tue, 22 Nov 2016 03:50:37 +0000 |
| Subject: | note 30826 deleted from ref.w32api by sobak | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-207454@lists.php.net to get a copy of this message | ||
Note Submitter: wobble at gmx dot de
----
I played a bit around with the W32API. Here is some code that actually works with the current
release of W32API.
The interface changed completely, so all documentation about this extension is out-dated. While the
old release
just implemented "plain" functions, the current version offers a class to handle all the
API-related operations.
Additionally, functions are now registered using a SQL-like language with a single string.
<?php
$api = new win32;
/*
BOOL GetUserName(
LPTSTR lpBuffer, // address of name buffer
LPDWORD nSize // address of size of name buffer
);
Returns the current thread's username
"&" passes argument as "refrence" not as "copy"
*/
$api->registerfunction("long GetUserName (string &a, int &b) From
advapi32.dll");
/*
DWORD GetTickCount(VOID)
Returns the ms the OS is running
*/
$api->registerfunction("long GetTickCount () From Kernel32.dll");
$len = 255; // set the length your variable should have
$name = str_repeat("\0", $len); // prepare an empty string
if ($api->GetUserName($name, $len) == 0)
{
die("failed");
}
if (!($time = $api->GetTickCount()))
{
die("failed");
}
echo "Username: $name<br>\nSystemtime: $time<br>\n";
?>
GOOD LUCK !!
Jan Kleinsorge