C# Win32应用程序是否也会在windows 7和windows 8/8.1上运行?

C# Win32应用程序是否也会在windows 7和windows 8/8.1上运行?,c#,winapi,windows-runtime,window,user32,C#,Winapi,Windows Runtime,Window,User32,我想开发一个窗口应用程序,它能够读取另一个窗口应用程序的属性,例如文本框、选项、按钮、标题栏等等。我的应用程序将使用多线程,因为激活目标窗口总是需要单独的线程 因此,我发现我应该从许多windows操作系统通用的win32 API开始,但我关心的是windows 7和使用winRT API的windows 8或8.1是否支持win32 API。 实际上,我希望我的应用程序在所有Windows平台上运行 我对这些API有很多混淆。请帮助我了解如何开发我的应用程序。Win32已经并将继续在所有版本的

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

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


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

Win32已经并将继续在所有版本的Windows上可用(除了Windows RT等不允许安装桌面应用程序的小例外)。在7、8和8.1之间添加了API,在Windows10中可能也有新的API。简而言之,Win32仍然是Windows中的核心API。WinRT API是作为Win32的一个附加组件构建的,主要用于商店应用程序,但不限于此。WinRT本身使用Win32,Win32应用程序可以同时使用Win32和WinRT API。此外,用.NET技术(如Windows演示基金会)构建的桌面应用程序也可以访问Win32 API。
简言之,Win32是Windows最广泛的公分母,对于您正在考虑的实用程序类型来说是一个很好的选择

这太宽泛了。此外,除非您已经很好地了解各种框架,否则您肯定会做出许多错误的决策。我认为您还没有准备好编写此应用程序。“我的应用程序将使用多线程,因为激活目标窗口总是需要单独的线程。”听起来您似乎连一点线索都没有,您在做什么。在开始之前,先建立一个坚实的基础,不是真的。基于ARM的Windows RT系统不公开Windows API。例如,您不能在基于ARM的Microsoft Surface设备上运行桌面应用程序。