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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/589387/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 12:03:28  来源:igfitidea点击:

Developing lightweight (no runtime) Windows based GUI applications using free tools

windowsuser-interfacedesktop-applicationportability

提问by Ash

Does anyone know of free tools (languages, environments) that would support development of GUI applications on the Windows platform?

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

I am looking to be able to create a single executable file that has no dependencies on any external runtime or library.

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

I would like to be able to then run this EXE in a very similar manner to Process Explorer or Autoruns from SysInternals. In other words; a no installer, portable application.

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

This application must also provide a reasonably rich windowing (controls, widgets etc) user interface and should run on Windows 2000, XP, Vista and later.

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

I'm aware of C/C++ but I'm looking for an environment/language that provides more specific and faster support for GUI development. Also, Delphi costs money.

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

采纳答案by VonC

For quick prototyping, Autoitis a viable option (but it is a scripting language though).

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

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

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

Combined with Sciteas an Editor, and autoit to exe capability(AutoIt3.exein Scite and Autoit3Wrapper.exeto actually produce exe), you have a full GUI development environment.

联合赛特作为一个编辑器,AutoIt的为EXE能力AutoIt3.exe在赛特和Autoit3Wrapper.exe实际产生EXE),你有一个完整的GUI开发环境。



AutohotKeyis an alternative, but based on old AutoitV2.

AutohotKey是一种替代方案,但基于旧的 AutoitV2。

Still, you can execute AutohotKey scripts from Autoit ;)

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

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


While interactive debugging is not nativelysupported, they are (2008, but in 2014: was?) several debugging toolsto facilitate the debug process. (from this ticket)

虽然本机不支持交互式调试,但它们是(2008 年,但在 2014 年:是?)几个调试工具来促进调试过程。(来自这张

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

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

Update 2014: the "AutoEditDebugger" might not be supported:

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

EDIT October 2009: NB This script has not been maintained since some time in 2008. Due to some problem with the editor it crashes in Vista.

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

回答by Ray

Delphi is definitely a good way to go. There is a free versioncalled Turbo Delphi. The version available is a couple of years old, so it's a shame they haven't release Turbo versions of the new stuff.

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

There are also trials availableof the full fledged RAD Studio, but I don't think that's what you're looking for.

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

回答by Mohammed Nasman

You can Get Turbo Delphi and Turbo C++ Builder explorereditions for free, and you can develop with them native application that you can have only .exe file without any dependencies on any windows version from (win98 to win7), both of them include more than 200 components, and you can use more (without installing to IDE that the only restriction), and you develop with them free and commercial software.

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

Delphi is the most RAD(Rapid Application Development) IDE that you can use to produce windows application in very easy and efficient way, you get fast developing application with fast execution time compared to speed of C++.

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

Another option to use Lazarus IDE, which based on FreePascalcompiler, so you can have your application running on windows/linux/MacOS/Unix and more.

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

回答by Franci Penov

Visual C++ Express+ WTL. Both are free. WTL is a relatively good(1) windowing library. No wizards, though, and you have to have good understanding of the Win32 windowing system.

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

You can also use Visual C# Expressalong with Monoto build WinForms app. While the end result is not technically a standalone executable and requires a framework, Mono dlls can be distributed along your exe (2), so you can just have a single folder for xcopy deployment. (And I think on Windows with .Net installed, your exe will be run on .Net automatically)

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

  • (1) I am spoiled by WPF. :-)
  • (2) Read on the intertubes. I have not personally tried it, though.
  • (1) 我被 WPF 宠坏了。:-)
  • (2) 阅读插管。不过,我还没有亲自尝试过。

回答by Gian Paolo

Perhaps not an option given your statement regarding C++, but if you are developing an open source / free application then Qtis a very nice GUI toolkit with designer.

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

Also, wxWidgetsis a very functional toolkit that will allow you to deploy a single exe, although the best GUI designers are not free.

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

回答by Gian Paolo

Just use VS.NET with C and Win32 api.

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

No runtime needed of course, as the CRT is native.

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

回答by anonyme

You should use Digital Mars C/C++ in pure C and program with GDI32 functions of WIN32 API (Just #include ). Don't forget to link your binary object executable with gdi32.lib.

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

回答by Patrick Klug

Maybe Dis an option? A friend of mine blogged about a GUI Designer for D hereand I believe that the resulting executable has no dependencies.

也许D是一个选项?我的一个朋友的博客上讲述一个GUI设计器d这里,我相信,生成的可执行文件没有依赖性。

回答by Damien

If you're doing very simple applications, AutoIt might be an option as it requires no runtime files and its executables will even run on WinPE. It's a bit primitive though and not exactly object-oriented. It works a bit like the old VB. It is, however, free and easy to learn and apart from something like NSIS (NullSoft Install System) there aren't many free, standalone GUI creators.

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

回答by jro

Check out Microsoft's Express editionsof their developer tools.

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