: In fact, try this - Google "<name of language> to exe". It looks like most of languages, the popular ones at least, have some sort of F/OSS project behind them that compiles them to Windows executables.
Your question appears to have 2 subquestions. I'm addressing just the first one:
Win32 API
MFC
.NET
Java (is also managed)
are "the only" ways of making windows applications. Please mention if there are some other ways through which we can build win apps
You may be missing out on many other platforms or languages. I don't claim to know all of them, but off the top of my head I recall py2exe which allows you to write Windows application in python. It may indeed ultimately convert to Win32 API, but that's what .NET and the JVM (in Windows) do as well.
Quoted from site: "py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation."
Edit
: In fact, try this - Google "<name of language> to exe". It looks like most of languages, the popular ones at least, have some sort of F/OSS project behind them that compiles them to Windows executables.
针对 XP 的软件必须升级到 Vista/Win7 的最大原因之一是围绕 UAC 的安全问题。例如,许多较旧的 XP 软件会写入 Program Files 目录和某些其他位置中的数据文件,如果没有安全提升,这些数据文件将无法在 Vista 上运行。如果它与保护模式 IE 交互,那么它必须处理保护模式问题。
One of the biggest reasons that software targeted to XP must be upgraded for Vista/Win7 is the security issues surrounding UAC. For instance, a lot of older XP software would write to data files in the Program Files directory, and certain other locations, that won't work on Vista without a security elevation. If it interacts with Protected Mode IE then it has to deal with the protected mode issues.
Also, people would like your software to take advantage of features on the newer operating systems. For instance, themes, and Aero skins so your software has a consistent look and feel with other applications on their system.
如果大部分无法工作的软件是由于在早期版本的操作系统上使用非 api 入口点,或者由于专门检查版本字符串,或者依赖于管理员权限,我不会感到惊讶。
Win32 API's aren't always backwards compatible.
Driver code usually has to change to take advantage of new features
Win32 code that uses new features has to change to take advantage of new features
It costs time and money to fix old stuff, you could just try to get people to buy new stuff.
I wouldn't be surprised if much of the software that doesn't work is due to using non-api entry points on earlier versions of OS's, or due to specifically checking for version strings, or relying on Admin permissions.
发布评论
评论(3)
您的问题似乎有 2 个子问题。我只针对第一个问题:
您可能会错过许多其他平台或语言。我并不声称了解所有这些,但我突然想起 py2exe 它允许你用 python 编写 Windows 应用程序。它最终可能确实会转换为 Win32 API,但这也是 .NET 和 JVM(在 Windows 中)所做的。
引自网站:“
py2exe 是一个 Python Distutils 扩展,它将 Python 脚本转换为可执行的 Windows 程序,无需安装 Python 即可运行。
”编辑
:
In fact, try this - Google "<name of language> to exe". It looks like most of languages, the popular ones at least, have some sort of F/OSS project behind them that compiles them to Windows executables.
Your question appears to have 2 subquestions. I'm addressing just the first one:
You may be missing out on many other platforms or languages. I don't claim to know all of them, but off the top of my head I recall py2exe which allows you to write Windows application in python. It may indeed ultimately convert to Win32 API, but that's what .NET and the JVM (in Windows) do as well.
Quoted from site: "
py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation.
"Edit
:
In fact, try this - Google "<name of language> to exe". It looks like most of languages, the popular ones at least, have some sort of F/OSS project behind them that compiles them to Windows executables.
这取决于软件的性质。
针对 XP 的软件必须升级到 Vista/Win7 的最大原因之一是围绕 UAC 的安全问题。例如,许多较旧的 XP 软件会写入 Program Files 目录和某些其他位置中的数据文件,如果没有安全提升,这些数据文件将无法在 Vista 上运行。如果它与保护模式 IE 交互,那么它必须处理保护模式问题。
此外,人们希望您的软件能够利用较新操作系统上的功能。例如,主题和 Aero 皮肤,使您的软件与系统上的其他应用程序具有一致的外观和感觉。
It depends on the nature of the software.
One of the biggest reasons that software targeted to XP must be upgraded for Vista/Win7 is the security issues surrounding UAC. For instance, a lot of older XP software would write to data files in the Program Files directory, and certain other locations, that won't work on Vista without a security elevation. If it interacts with Protected Mode IE then it has to deal with the protected mode issues.
Also, people would like your software to take advantage of features on the newer operating systems. For instance, themes, and Aero skins so your software has a consistent look and feel with other applications on their system.