CCS COM组件问题

CCS软件有COM组件吗?
使用如下代码时,不能得到CLSID
HRESULT hr = CLSIDFromProgID(L"CCS.Application",&clsid);
请问各位,是哪里应该怎么配置吗?
尝试#import "C:\ti\ccs930\ccs\eclipse\ccsstudio.exe"导入,但系统报错。

打开word,视图、宏
然后录制一个宏,编辑宏,打开visual basic编辑器
工具-引用

img

这里看下,有ccs 没有,有就可以com调用

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答由chatgpt基于相关博客总结生成:

    可以尝试下面的解决方案:

    首先,确保你的系统中已经安装了CCS软件,并且路径为"C:\ti\ccs930\ccs\eclipse\ccsstudio.exe"。这个路径在代码中是用来获取CLSID的。

    #include <windows.h>
    
    int main() {
        HRESULT hr;
        CLSID clsid;
    
        // 注册COM组件
        hr = CoInitialize(NULL);
        if (FAILED(hr)) {
            printf("Failed to initialize COM library.");
            return hr;
        }
    
        hr = CLSIDFromProgID(L"CCS.Application", &clsid);
        if (FAILED(hr)) {
            printf("Failed to get CLSID from ProgID.");
            CoUninitialize();
            return hr;
        }
    
        // 在注册表中查找CLSID对应的路径
        HKEY key;
        wchar_t subKey[256];
        swprintf_s(subKey, L"CLSID\\{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}\\LocalServer32",
            clsid.Data1, clsid.Data2, clsid.Data3, clsid.Data4[0], clsid.Data4[1], clsid.Data4[2], clsid.Data4[3],
            clsid.Data4[4], clsid.Data4[5], clsid.Data4[6], clsid.Data4[7]);
    
        hr = RegOpenKeyEx(HKEY_CLASSES_ROOT, subKey, 0, KEY_READ, &key);
        if (FAILED(hr)) {
            printf("Failed to open registry key.");
            CoUninitialize();
            return hr;
        }
    
        wchar_t path[MAX_PATH];
        DWORD pathLen = MAX_PATH * sizeof(wchar_t);
        hr = RegQueryValueEx(key, NULL, NULL, NULL, (LPBYTE)path, &pathLen);
        if (FAILED(hr)) {
            printf("Failed to query registry value.");
            RegCloseKey(key);
            CoUninitialize();
            return hr;
        }
    
        printf("Path: %ls\n", path);
    
        RegCloseKey(key);
        CoUninitialize();
        return 0;
    }
    

    这段代码首先初始化COM库,然后通过CLSIDFromProgID函数获取到CLSID。然后,使用获取到的CLSID构建注册表路径,使用RegOpenKeyEx和RegQueryValueEx函数从注册表中读取对应的路径。最后,将获取到的路径打印出来。

    请注意编译时需要链接ole32库。如果仍然无法获取到CLSID,可能是系统中未正确安装CCS软件,或者配置有误。请仔细检查安装路径和传入的ProgID是否正确。如果问题依然存在,建议咨询CCS官方技术支持。

    希望以上解决方案能帮到你。如有其他问题,请随时追问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^