【问题标题】:Is there a cross-platform library for windows manipulation? [closed]是否有用于 Windows 操作的跨平台库? [关闭]
【发布时间】:2015-07-04 18:37:33
【问题描述】:

是否有一个库具有 WinAPI FindWindowEnumWindowsWindowFromPointChildWindowFromPointGetWindowRectGetWindowTextEnumDisplayMonitors 等在每个平台上支持的库:Windows、X11、 OS X,...?

Linux上有XGetWindowProperty、XFetchName等函数,Mac上有NSWindowList、CGSGetWindowProperty()等函数。我只想要一个包装库,比如这些函数的抽象层,这样我就可以在所有平台上使用相同的代码。

【问题讨论】:

  • 不,没有,因为这些功能并非在所有平台上都有意义
  • 为什么没有意义?
  • 因为每个平台都有自己的UI架构,“Window”只适用于Windows,这些功能是Windows API的一部分,其他平台有自己的API。
  • 伙计们,你们让我失望了。 Linux上有XGetWindowPropertyXFetchName等函数,Mac上有NSWindowListCGSGetWindowProperty()等函数。我只是想要一个包装库,比如这些函数的抽象层,这样我就可以在所有平台上使用相同的代码。
  • 使用Qt。如果 Qt 中没有封装某些功能,则认为它不存在....没有理由让您梦寐以求的所有功能都可以在所有平台上使用。

标签: c++ linux macos winapi cross-platform


【解决方案1】:

这些函数仅特定于 Windows 平台。您不能在其他操作系统上使用它们,因为它们使用仅在基于 Windows 的系统上运行的库和 dll 文件。但是,如果您想使用 c/c++ 制作跨平台应用程序,则应考虑使用 qt 或 gtk 之类的 API。 它们具有无需任何更改即可在大多数平台上运行的功能。

【讨论】:

  • 请仔细阅读我的问题
  • 我已阅读您的问题,并且不存在将这些功能准确映射到其他操作系统的此类包装器。您将需要使用一些 API 来包装来自所有操作系统的类似函数,并为您提供一个通用的函数名称以供使用,代码一次部署到任何地方。
猜你喜欢
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 2011-11-25
  • 2023-03-26
  • 2011-02-17
  • 2011-06-14
相关资源
最近更新 更多