3

I know that I can consume COM components but is there a way to directly call into the Win32 API's (user32.dll, advapi32.dll etc) from PHP or do I need to wrap in a PHP extension or COM object?

hakre
  • 184,866
  • 48
  • 414
  • 792
Kev
  • 115,559
  • 50
  • 294
  • 378

2 Answers2

5

See the first comment here:

The only way I've been able to call Win32 API functions with PHP5 has been through COM and DynamicWrapper.

Here's an example to play a beep sound with your computer speaker:

<?php
$com = new COM("DynamicWrapper");
$com->Register("KERNEL32.DLL", "Beep", "i=ll", "f=s", "r=l");
$com->Beep(5000, 100);
?>

You can get an updated DynamicWrapper here. You have to register it with regsvr32.

Community
  • 1
  • 1
Janus Troelsen
  • 19,210
  • 14
  • 126
  • 189
1

The win32api support for php is very flaky. Have a look at this

http://php.net/manual/en/book.w32api.php

Dave
  • 197
  • 1
  • 2
  • 7