22

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

我希望能够创建一个不依赖于任何外部运行时或库的单个可执行文件。

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

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

我知道 C/C++,但我正在寻找一种为 GUI 开发提供更具体和更快的支持的环境/语言。此外,德尔福需要花钱。

4

10 回答 10

9

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

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

结合Scite作为编辑器和autoit to exe 功能(Scite 中的AutoIt3.exe和实际生成 exe 的Autoit3Wrapper.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 中崩溃。

于 2009-02-26T06:44:33.310 回答
5

Delphi 绝对是一个不错的选择。有一个名为Turbo Delphi的免费版本。可用的版本已经有几年的历史了,所以很遗憾他们还没有发布新东西的 Turbo 版本。

也有完整的 RAD Studio试用版,但我认为这不是您想要的。

于 2009-02-26T06:53:35.113 回答
4

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

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

使用基于FreePascal编译器的Lazarus IDE的另一种选择,因此您可以让您的应用程序在 windows/linux/MacOS/Unix 等平台上运行。

于 2009-02-26T07:08:28.887 回答
4

视觉 C++ 速成+ WTL。两者都是免费的。WTL 是一个比较好的(1) 窗口库。但是,没有向导,您必须对 Win32 窗口系统有很好的了解。

您还可以使用Visual C# ExpressMono来构建 WinForms 应用程序。虽然最终结果在技术上不是一个独立的可执行文件并且需要一个框架,但 Mono dll 可以与您的 exe (2) 一起分发,因此您只需一个文件夹即可进行 xcopy 部署。(而且我认为在安装了 .Net 的 Windows 上,您的 exe 将自动在 .Net 上运行)

  • (1) 我被 WPF 宠坏了。:-)
  • (2) 阅读内胎。不过,我还没有亲自尝试过。
于 2009-02-26T07:15:23.283 回答
4

鉴于您关于 C++ 的声明,也许不是一个选项,但如果您正在开发一个开源/免费应用程序,那么Qt是一个非常好的带有设计器的 GUI 工具包。

此外,wxWidgets是一个非常实用的工具包,它允许您部署单个 exe,尽管最好的 GUI 设计器不是免费的。

于 2009-02-26T07:51:50.403 回答
1

也许D是一个选项?我的一个朋友在这里写了一个关于 D 的 GUI 设计器的博客,我相信生成的可执行文件没有依赖关系。

于 2009-02-26T07:07:03.647 回答
1

只需将 VS.NET 与 C 和 Win32 api 一起使用。

当然不需要运行时,因为 CRT 是本机的。

于 2009-02-26T13:25:28.590 回答
1

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

于 2012-01-15T12:26:38.853 回答
0

查看 Microsoft 的开发人员工具的Express 版本

于 2009-02-26T06:40:59.013 回答
0

如果您正在做非常简单的应用程序,AutoIt 可能是一个选项,因为它不需要运行时文件,而且它的可执行文件甚至可以在 WinPE 上运行。虽然它有点原始,但并不完全是面向对象的。它的工作方式有点像旧的 VB。然而,它是免费且易于学习的,除了 NSIS(NullSoft 安装系统)之类的东西之外,没有很多免费的、独立的 GUI 创建者。

于 2009-02-26T06:50:49.753 回答