使用免费工具开发轻量级(无运行时)基于Windows的GUI应用程序

有谁知道可以支持在Windows平台上开发GUI应用程序的免费工具(语言,环境)吗?

我正在寻找能够创build一个单一的可执行文件,不依赖于任何外部运行时或库。

我希望能够以与Process Explorer或SysInternals的Autoruns非常相似的方式运行此EXE。 换一种说法; 没有安装程序,便携式应用程序。

此应用程序还必须提供一个相当丰富的窗口(控件,小部件等)用户界面,并应运行在Windows 2000,XP,Vista和更高版本。

我知道C / C ++,但我正在寻找一种环境/语言,为GUI开发提供更多特定和更快的支持。 另外,delphi也花钱。

对于快速原型, Autoit是一个可行的选择(但是它是一种脚本语言)。

http://www.autoitscript.com/images/gui_eg1.png

结合Scite作为编辑器,并且可以自动执行exe能力 (Scite和Autoit3Wrapper.exe中的AutoIt3.exe实际上可以生成exe文件),您可以使用完整的GUI开发环境。


AutohotKey是一个替代,但基于旧的AutoitV2。

不过,你可以从Autoit执行AutohotKey脚本;)

Run("c:\Program Files\Autohotkey\Autohotkey.exe c:\scripts\devicesset.ahk") 

尽管交互式调试并不是本机支持的,但它们(2008年,但是在2014年:是?)有几个调试工具来促进调试过程。 (从这张票 )

http://www.autoitscript.com/forum/uploads/monthly_01_2008/post-3602-1199735240.png

2014年更新:可能不支持“AutoEditDebugger”:

编辑2009年10月:注意:这个脚本自2008年以来一直没有被维护。由于编辑器的一些问题,它在Vista中崩溃。

德尔福绝对是一个好方法。 有一个名为Turbo Delphi 的免费版本 。 可用的版本已经有两三年了,所以可惜的是他们还没有发布新版本的Turbo版本。

也有试验可用的完整的RAD Studio,但我不认为这就是你要找的。

您可以免费获得Turbo Delphi和Turbo C ++ Builder资源管理器版本,您可以使用它们开发原生应用程序,只需要.exe文件,而不依赖任何Windows版本(从win98到win7),它们都包含多于200个组件,而且你可以使用更多的(不需要安装到IDE的唯一的限制),而且你用它们开发了免费和商业软件。

Delphi是最快速的应用程序开发(IDE),您可以用它来以非常简单高效的方式生成Windows应用程序,与C ++的速度相比,您可以快速开发具有快速执行时间的应用程序。

另一个选择使用基于FreePascal编译器的Lazarus IDE ,所以你可以让你的应用程序在windows / linux / MacOS / Unix等上运行。

Visual C ++ Express + WTL 。 两者都是免费的。 WTL是一个比较好的(1)窗口库。 没有向导,但是你必须对Win32窗口系统有很好的理解。

您还可以使用Visual C#Express与Mono一起构建WinForms应用程序。 尽管最终的结果并不是技术上的独立可执行文件,并且需要一个框架,Mono dll可以沿着你的exe(2)发布,所以你可以只有一个文件夹来进行xcopy部署。 (我认为在安装.Net的Windows上,你的exe会自动运行在.Net上)

  • (1)我被WPF宠坏了。 🙂
  • (2)阅读关于交流。 虽然我没有亲自尝试过。

也许不是给你关于C ++的陈述的一个选择,但是如果你正在开发一个开源/免费的应用程序,那么Qt是一个非常好的GUI设计工具包。

另外, wxWidgets是一个非常实用的工具包,可以让你部署一个exe,尽管最好的GUI设计者并不是免费的。

查看他们的开发人员工具的微软Express版本 。

也许D是一个选项? 我的一个朋友在这里写了一个关于D的GUI Designer的文章,我相信结果可执行文件没有依赖关系。

只需使用C和Win32 API的VS.NET。

当然不需要运行时间,因为CRT是原生的。

您应该在纯C中使用Digital Mars C / C ++,并使用WIN32 API的GDI32函数(仅#include)进行编程。 不要忘记用gdi32.lib链接你的二进制对象可执行文件。

如果你正在做非常简单的应用程序,AutoIt可能是一个选项,因为它不需要运行时文件,它的可执行文件甚至可以在WinPE上运行。 这虽然有点原始,并不完全是面向对象的。 它有点像旧的VB。 然而,这是免费的,易于学习,除了像NSIS(NullSoft安装系统)这样的东西,没有多少免费的,独立的图形用户界面的创造者。