Я создал простой COM-объект, используя ATL в соответствии с описанием в Создание COM с использованием ATL в C ++ из VS2012 и зарегистрировались в системе с помощью regsvr32.exe. Но я не уверен, что он готов для скриптового языка, такого как PHP. Я пытаюсь найти свой объект, используя скрипт 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. Чего не хватает в моем проекте?
Этот скрипт не учитывает AppID в формате Application.Object.Version
,
замещать -match '^\w+\.\w+$'
с -match '^\w+\.\w+(?:\.\d+)?$'
,
Других решений пока нет …