Win32 应用程序是不是也可以在 Windows 7 和 Windows 8/8.1 上运行?

Posted

技术标签:

【中文标题】Win32 应用程序是不是也可以在 Windows 7 和 Windows 8/8.1 上运行?【英文标题】:Will a Win32 application run on window 7 and windows 8/8.1 as well?Win32 应用程序是否也可以在 Windows 7 和 Windows 8/8.1 上运行? 【发布时间】:2015-04-15 11:50:35 【问题描述】:

我想开发一个能够读取另一个窗口应用程序的属性的窗口应用程序,例如。文本框、选项、按钮、标题栏等。我的应用程序将使用多线程,因为激活目标窗口总是需要单独的线程。

所以,我发现我应该从许多 Windows 操作系统通用的 win32 API 开始,但我担心的是使用 winRT API 的 Window 7 和 Window 8 或 8.1 是否支持 win32 API。 我实际上希望我的应用程序可以在所有 Windows 平台上运行。

我对这些 API 有很多困惑。请帮助我了解如何开发我的应用程序。

【问题讨论】:

这太宽泛了。此外,除非您已经非常了解各种框架,否则您一定会做出很多错误的决定。我认为你还没有准备好编写这个应用程序。 “我的应用程序将使用多线程,因为激活目标窗口总是需要单独的线程。” 听起来你甚至没有丝毫线索,你在做什么。从theForger's Win32 API Tutorial 开始,并在继续前打下坚实的基础。 【参考方案1】:

Win32 已经并将继续在所有版本的 Windows 上可用(除了一些小例外,例如不允许安装桌面应用程序的 Windows RT)。在 7、8 和 8.1 之间增加了 API,Windows 10 中可能也有新的 API。简而言之,Win32 仍然是 Windows 中的核心 API。 WinRT API 是作为 Win32 的补充而构建的,主要用于商店应用程序,但并非专门用于。 WinRT 本身使用 Win32,Win32 应用程序可以同时使用 Win32 和 WinRT API。此外,使用 .NET 技术(如 Windows Presentation Foundation)构建的桌面应用程序也可以访问 Win32 API。

简而言之,Win32 是 Windows 最广泛的公分母,对于您正在考虑的实用程序应用程序来说,它是一个不错的选择。

【讨论】:

不正确。基于 ARM 的 Windows RT 系统不公开 Windows API。例如,您不能在基于 ARM 的 Microsoft Surface 设备上运行桌面应用程序。

以上是关于Win32 应用程序是不是也可以在 Windows 7 和 Windows 8/8.1 上运行?的主要内容,如果未能解决你的问题,请参考以下文章

用 AutoHotkey 做为 win32 程序的库

安装perl for win32 是用cmd的cd指令结果显示"perl"不是内部或外部命令,也不是可运行的程序或批处理文件。

Win32 是不是允许同时使用控制台和窗口的应用程序?

.net API 与win32API

.exe 在 Windows XP 上不是有效的 Win32 应用程序

在某些特殊情况下,Win32 ShowWindow api 在 Windows 7 SP1 上的行为是不是不同?