我如何从Windows上的DLL从DLL调用函数?

我正在使用xampp。

我search,它看起来像PHP 4.x,有一个扩展名为php_w32api.dll似乎已经消失了PHP 5.x. 尽pipe如此,它仍然在php.net的文档中,但标记为实验。

有人build议在pecl中使用win32std,但是这只是包装了win32 api的一些function,但是不允许我调用我自己的dll函数。 :/

有ffi,但pecl网站上的链接已经死亡,似乎在2004年停止了开发。

任何想法如何做到这一点,而不写我自己的PHP扩展?

最好的问候马克

COM函数仅适用于Windows版本的PHP。 .Net支持需要PHP 5和.Net运行时。 无需安装使用这些功能; 他们是PHP核心的一部分。

首先创建您的ActiveX DLL(Visual Basic):将您的项目命名为“foo”,并将其命名为“bar”。

'---start VB code--- Public Function hello() As String hello = "Hello World!" End Function '---end VB code--- 

然后使dll和regsvr32.exe注册现在创建您的PHP脚本:

  <?php $obj = new COM("foo.bar"); $output=$obj->hello(); // Call the "hello()" method // once we created the COM object this can be used like any other php classes. echo $output; // Displays Hello World! (so this comes from the dll!) ?>