我有一个应用程序以下列方式打开autocad应用程序:
XlApp := GetActiveOleObject('AutoCAD.Application');
现在我也想做同样的事情,但是对于ZWCAD应用程序,我怎么做呢?
发布于 2022-05-03 11:31:09
GetActiveOleObject不打开应用程序。它返回对运行的应用程序的COM/OLE自动化对象的接口引用。
如果应用程序没有运行,可以使用CreateOleObject创建/实例化应用程序。
稍后,通过引用,您可以从应用程序外部管理应用程序。就像打开/管理一些文档一样,做一些处理和/或向用户展示。
注意,并非所有应用程序都支持COM/OLE自动化。您必须检查正式文档或开发人员指南。通常它包含接口描述,就像可以调用的属性和方法一样。此外,Delphi还提供了从dll文件导入可用接口的特利比工具。
在快速检查之后,ZWCAD似乎支持COM自动化,因此可以尝试以下代码:
var O: Variant;
begin
O := CreateOleObject('ZWCAD.Application');
try
// Work with object
O.Visible := True;
finally
O := Unassigned;
end;
end;或者,如果您只想打开ZWCAD,您可以使用
ShellExecute(0, 'open', 'c:\path\to\zwcad.exe', nil, nil, SW_SHOWNORMAL);https://stackoverflow.com/questions/72096918
复制相似问题