php调用c#、c++写的com组件-创新互联
一、php调用c++非com组件
1.php打开扩展,我用的 php7.3.4nts
当前名称:php调用c#、c++写的com组件-创新互联
网页地址:http://pwwzsj.com/article/ccscjo.html
com_dotnet
创新互联建站专注于企业成都全网营销推广、网站重做改版、龙城网站定制设计、自适应品牌网站建设、H5技术、商城网站制作、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为龙城等各大城市提供网站开发制作服务。2.下载dynwrapx.dllphp官方手册及网上很多使用dynwrap.dll去调用其他dll文件,但这个库已经停止开发了,网上另外有一个dynwrapx.dll(简称DWX)的库,是仿照dynwrap.dll开发的 DynamicWrapperX 中文,建议使用这个。
官网
下载最新版本
3. 放置文件解压后将64文件下的dynwrapx.dll放到C:\Windows\System32,将32文件下的dynwrapx.dll放到C:\Windows\SysWOW64,然后以管理员身份打开cmd,执行 regsvr32 dynwrapx.dll
4.php调用$dw = new COM("DynamicWrapperX");
$dw->Register("user32.dll", "MessageBoxW", "i=hwwu", "r=l");
$ch = $dw->MessageBoxW(0, "Hello, world!", "Test", 4);
echo $ch;die;
这里要注意:DynamicWrapperX
不需要加入缓存中即可直接使用
参考官网给的案例
参考链接1
参考链接2
本人亲测
php 7.2.9、php 7.3.4、PHP 7.4.5这三个版本,用dynwrapx时不需要往php ext下添加扩展,也不用配置extension=dynwrap.dll
即可直接使用
php7.3.6尚未成功!
参考链接1
1.打开php扩展com_dotnet 2.php代码add(1, 2);
这个功能是PHP调用COM组件的功能,虽然很方便调用,开发也比较简单,但也因为使用COM组件技术,限定了只有Windows的机子才能使用。
三、php调用c#com组件 1.php测试代码这里是调用的windows自带的office dll文件
// starting word
$word = new com("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";
//bring it to front
$word->Visible = 1;
//
//open an empty document
$word->Documents->Add();
//
//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");
//closing word
$word->Quit();
//free the object
$word = null;
2.php调用代码$b = new com("HelloWorld.Hello");
$r = $b->Write();
echo $r;
3.添加到缓存中c#代码
namespace HelloWorld
{
public class Hello
{
public string Write()
{
return "Hello World";
}
}
}
gacutil /I HelloWorld.dll
regasm HelloWorld.dll
4.上两行代码,我亲测是需要下载软件才可使用需要对应的环境才可执行,而且要在根目录下执行
网上搜Visual Studio 2010 简体中文旗舰版
安装这个软件
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前名称:php调用c#、c++写的com组件-创新互联
网页地址:http://pwwzsj.com/article/ccscjo.html