CLSIDFromProgID 是 Windows API 中的一个函数,位于 Combaseapi.h 头文件中。它用于从给定的 ProgID(Programmatic Identifier)获取相应的 CLSID(Class Identifier)。

下面是该函数的原型:
HRESULT CLSIDFromProgID(
  LPCOLESTR lpszProgID,
  LPCLSID   lpclsid
);

参数解释:

  •  lpszProgID:要检索 CLSID 的 ProgID 字符串。

  •  lpclsid:用于存储检索到的 CLSID。


函数返回 HRESULT 类型的值,如果操作成功,返回 S_OK,否则返回相应的错误代码。

示例用法:
#include <Windows.h>
#include <Combaseapi.h>
#include <iostream>

int main() {
    LPCOLESTR progID = L"Excel.Application";
    CLSID clsid;

    HRESULT hr = CLSIDFromProgID(progID, &clsid);

    if (SUCCEEDED(hr)) {
        std::cout << "CLSID for ProgID " << progID << " is: " << clsid << std::endl;
    } else {
        std::cerr << "Failed to retrieve CLSID. Error code: 0x" << std::hex << hr << std::endl;
    }

    return 0;
}

这个示例演示了如何使用 CLSIDFromProgID 函数从指定的 ProgID 获取相应的 CLSID。在这个例子中,ProgID 是 "Excel.Application",它通常与 Microsoft Excel 相关联。

请注意,这是一个简单的示例,实际使用时,需要考虑错误处理等方面的情况。


转载请注明出处:http://www.pingtaimeng.com/article/detail/24559/Win32 API/Combaseapi.h/CLSIDFromProgID