我的COM对象是否已准备好用于PHP?

时间:2015-10-19 11:54:42

标签: php c++ visual-studio-2012 com

我根据Creating COM using ATL in C++ from VS2012中的描述使用ATL创建了简单的COM对象,并使用regsvr32.exe在系统中注册。但我不确定它是否已准备好像PHP这样的脚本语言。我正在尝试使用来自script location

的Power Shel脚本找到我的对象
function Get-ComObject {

    param(
        [Parameter(Mandatory=$true,
        ParameterSetName='FilterByName')]
        [string]$Filter,

        [Parameter(Mandatory=$true,
        ParameterSetName='ListAllComObjects')]
        [switch]$ListAll
    )

    $ListofObjects = Get-ChildItem HKLM:\Software\Classes -ErrorAction SilentlyContinue | Where-Object {
        $_.PSChildName -match '^\w+\.\w+$' -and (Test-Path -Path "$($_.PSPath)\CLSID")
    } | Select-Object -ExpandProperty PSChildName

    if ($Filter) {
        $ListofObjects | Where-Object {$_ -like $Filter}
    } else {
        $ListofObjects
    }
}

我找不到我的ATLProject1.SomeObject类。我的项目缺少什么?

1 个答案:

答案 0 :(得分:0)

此脚本未考虑Application.Object.Version格式的AppID。

-match '^\w+\.\w+$'替换为-match '^\w+\.\w+(?:\.\d+)?$'