什么是“正确的”?获取 Win32 p/Invoke 声明的方法?

发布于 2024-09-05 14:16:28 字数 355 浏览 3 评论 0原文

我通常使用网站 http://www.pinvoke.net/ 来获取 DllImport<每当我需要调用 Win32 API 时,我都会使用 /code> 声明,并且我注意到这是 Stack Overflow 上对 API 互操作问题的事实上的标准响应。

这是“每个人”都会做的事吗?有更好的办法吗?微软是否提供替代方案?例如,读取 .h 文件并输出程序集的工具。

为什么没有一些标准程序集只公开所有 Win32 API?作为 pinvoke.net 等网站的替代品,创建和使用它们的障碍是什么?

I typically use the site http://www.pinvoke.net/ to grab a DllImport declaration whenever I need to call a Win32 API, and I've noticed it's the de facto standard response on Stack Overflow to API interop questions.

Is this what "everyone" does? Is there a better way? Does Microsoft offer an alternative? e.g. a tool that reads .h files and outputs an assembly.

Why aren't there some standard assemblies that just expose all the Win32 APIs? What would be the barrier to creating them and using them, as an alternative to a site like pinvoke.net?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ぶ宁プ宁ぶ 2024-09-12 14:16:28

我使用 pinvoke.net 作为还没有托管包装器的 Win32 API 的首选。 Codeplex 上有一个 互操作助理项目,它将为您生成 DllImport - 适用于 Win32 API 或您自己的代码。早在 2008 年,当它发布时,我在博客上讨论了它。您关于“的其他问题”标准程序集”可能意味着我所说的包装器。 Windows API 庞大的身体中有特定部分的特定部分。例如,许多 Windows 7 和 Vista 的好东西都在代码包中。

I use pinvoke.net as a first resort for Win32 APIs that don't have managed wrappers already. There is an interop assistant project on codeplex that will generate the DllImport for you - for Win32 API or your own code. I blogged about it when it came out, back in 2008. Your other question about "standard assemblies" probably means what I call wrappers. There are specific ones for specific parts of the huge body that is the windows API. For example, many of the Windows 7 and Vista goodies are in the Code Pack.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文