作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个使用(第三方)COM .dll 的 D 应用程序,以便我可以抓取另一个应用程序的文本框,以便在出现某个字符串时发出错误声音。
但是,第三方不提供与 dll 一起使用的 .lib、.def 或 .h 文件(至少免费试用版)。我可以使用 implib 创建 .lib 文件工具,但我在创建的 .lib 中看不到任何库函数。
他们的 (visual c++) 示例使用 #import
将其链接的指令,但这对我没有用...
在旁注中,我怎样才能自动获得 dll 的正确接口(interface)(在带有样板的 .di 中)?我问所以链接的正确性不取决于我(可能是不正确的)函数的翻译。他们确实有 webpage它提供了所有功能,但至少可以说对象模型有点困惑。
最佳答案
据我所知,COM 库只公开了一些函数,需要(取消)注册库和创建对象。
但是,您可以使用 OLE/COM Object Viewer 查看 COM .dll 中的接口(interface)和函数。 .它似乎可以输出头文件(.h)。之后,也许你可以使用 htod作为将所有内容转换为 D 接口(interface)的起点。
DMD 发行版似乎包含一个 .COM 示例(chello.d、dclient.d、dserver.d),乍一看它似乎不需要任何 LIB 明确。
不幸的是,我实际上从未在 D 中使用过 COM,所以我无法提供任何进一步的建议。我希望这在某种程度上有所帮助。
关于dll - 如何在 D 中导入 COM dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197501/
我是一名优秀的程序员,十分优秀!