Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用VCProjectEngine和COM_C++_.net_Visual Studio 2012_Com - Fatal编程技术网

C++ 使用VCProjectEngine和COM

C++ 使用VCProjectEngine和COM,c++,.net,visual-studio-2012,com,C++,.net,Visual Studio 2012,Com,我正在尝试使用COM系统进行测试。在C中使用它非常简单,但是我在本地C++中使用了一个墙。 我正在使用COM系统,到目前为止,我能够使用CoCreateInstance函数获得指向VCProjectEngine接口的指针 但是现在我该如何处理这个接口呢?我想访问,以便能够添加文件的项目。我尝试使用LoadProject或CreateProject,但它使用的是IDispatch参数,而不是VCProject参数 有人能帮助我吗?< P>从C++调用COM接口可以用多种不同的方式来完成: 使用Co

我正在尝试使用COM系统进行测试。在C中使用它非常简单,但是我在本地C++中使用了一个墙。 我正在使用COM系统,到目前为止,我能够使用CoCreateInstance函数获得指向VCProjectEngine接口的指针

但是现在我该如何处理这个接口呢?我想访问,以便能够添加文件的项目。我尝试使用LoadProject或CreateProject,但它使用的是IDispatch参数,而不是VCProject参数


有人能帮助我吗?

< P>从C++调用COM接口可以用多种不同的方式来完成:

使用CoCreateInstance和IUnkown接口的低级COM调用 ATL Active-X模板库,提供了许多智能指针和实用程序函数,使工作更轻松。与导入结合使用,为您生成包装器类。 对于Windows商店应用程序,你应该使用C++或CX或WRL Windows运行时C++模板库
MSDN上有许多很好的教程和代码示例。

这些方法返回IDispatch指针。使用QueryInterface获取VCProject接口指针。这是一个非常基本的COM任务,请考虑VB.NET或C会给您一个更容易的时间来获得这个权限。实际上,它只保证返回一个I未知接口指针,而QueryInteface是该接口中的3种方法之一。但有比使用低级COM接口函数调用更好的方法。是的,但我不能在c或VB中这样做。。。非常感谢你的提示,我应该把它称为IDISPosiple指针吗?我必须在C++中完成,所以我认为唯一的办法是通过COM。