加载COM DLL

时间:2012-02-18 07:18:12

标签: c++ qt

我刚开始使用QT。现在我需要将Visual C ++项目中的一些代码传输到QT。

该项目目前唯一做的事情是打开photoshop并将可见标志设置为false(它将用于自动化,因此稍后会添加很多内容)。

我做的是,我导入了2个photoshop dll(注意:我没有.h或.lib,只有.dll文件) 我用来导入这些dll的方法是通过import libid,因为我尝试的所有其他方法都不起作用。它们是COM对象,顺便说一句。

这是我的VC ++代码:

//library ID of Photoshop.dll
#import "libid:E891EE9A-D0AE-4cb4-8871-F92C0109F18E"
//library ID of PhotoshopTypeLibrary.dll
#import "libid:4B0AB3E1-80F1-11CF-86B4-444553540000"

int main()
{
 Photoshop::_ApplicationPtr app( __uuidof(Photoshop::Application));
 app->Visible = false;

 return 0;
}

现在,QT在导入行上给了我一些警告和错误:

warning: #import is a deprecated GCC extension
error: libid:E891EE9A-D0AE-4cb4-8871-F92C0109F18E: No such file or directory

然后,在那之后,它(显然)说“Photoshop”没有被声明。

现在,我搜索了,我找到的最接近的解决方案是包含在我的VC ++项目中创建的.tlh文件,但是当我这样做时,我得到了超过1千个错误和警告,所以显然没有工作

有人可以告诉我该怎么做吗?我被严重困住了!

0 个答案:

没有答案