PHP调用DLL

[paragraph]
测试环境:windows 2003 Server + IIS6 (PHP)+VS2005
一、建立ATL工程
1、打开VS2005,新建空项目,我们这里建NFS(图1)
PHP调用DLL_第1张图片
2、在解决方案中,添加 >> 新建项目,命名:nfs,并选择DLL方式,如图2、图3
PHP调用DLL_第2张图片
PHP调用DLL_第3张图片
3、打开类视图,在nfs节点上点击鼠标右键,选择 添加 >> 类,在这里我们选择“ATL简单对象”,如图4
PHP调用DLL_第4张图片
4、在添加向导窗口中,在c++简称栏目中填入:Fun,其它的项目会自动填写。如图5、图6
PHP调用DLL_第5张图片
PHP调用DLL_第6张图片
5、添加show方法,选择类视图IFun,点击鼠标右键,选择“添加方法”。如图7
PHP调用DLL_第7张图片
6、在添加方法向导中,方法名填写:show,参数我们写两个,其中最后一个参数是必须的,因为是要返回给PHP的值。如图8、图9
PHP调用DLL_第8张图片
PHP调用DLL_第9张图片
7、编写函数,并编译。打开Fun.cpp源文件,找到STDMETHODIMP CFun::show(LONG* pKeys, BSTR* pReturn)函数,在函数中加入代码,如图10,生成解决方案,在生成前,选择生成方式为:Release,如图11:
BSTR temp = ::SysAllocString(L&quot HP Hello Dll 071226");
* pReturn=temp;
PHP调用DLL_第10张图片

8、停止iis,找到生成的dll文件,并通过regsvr32 nfs.dll命令注册dll文件。如图12
PHP调用DLL_第11张图片
9,至此文件dll已经完成制作与注册。在PHP中就可以调用了,效果如图13。
<?php
//2007年12月26日 星期二 11:34:08 lybkw
$com = new COM("nfs.Fun") or die("无法建立COM组件");
echo $com->show(1);
?>
PHP调用DLL_第12张图片

你可能感兴趣的:(PHP调用DLL)