问题
Does anyone know of free tools (languages, environments) that would support development of GUI applications on the Windows platform?
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.
This application must also provide a reasonably rich windowing (controls, widgets etc) user interface and should run on Windows 2000, XP, Vista and later.
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.
回答1:
For quick prototyping, Autoit is a viable option (but it is a scripting language though).

Combined with Scite as an Editor, and autoit to exe capability (AutoIt3.exe in Scite and Autoit3Wrapper.exe to actually produce exe), you have a full GUI development environment.
AutohotKey is an alternative, but based on old AutoitV2.
Still, you can execute AutohotKey scripts from Autoit ;)
Run("c:\Program Files\Autohotkey\Autohotkey.exe c:\scripts\devicesset.ahk")
While interactive debugging is not natively supported, they are (2008, but in 2014: was?) several debugging tools to facilitate the debug process. (from this ticket)

Update 2014: the "AutoEditDebugger" might not be supported:
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.
回答2:
Delphi is definitely a good way to go. There is a free version called 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.
There are also trials available of the full fledged RAD Studio, but I don't think that's what you're looking for.
回答3:
You can Get Turbo Delphi and Turbo C++ Builder explorer editions 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.
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++.
Another option to use Lazarus IDE, which based on FreePascal compiler, so you can have your application running on windows/linux/MacOS/Unix and more.
回答4:
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.
You can also use Visual C# Express along with Mono to 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)
- (1) I am spoiled by WPF. :-)
- (2) Read on the intertubes. I have not personally tried it, though.
回答5:
Perhaps not an option given your statement regarding C++, but if you are developing an open source / free application then Qt is a very nice GUI toolkit with designer.
Also, wxWidgets is a very functional toolkit that will allow you to deploy a single exe, although the best GUI designers are not free.
回答6:
Maybe D is an option? A friend of mine blogged about a GUI Designer for D here and I believe that the resulting executable has no dependencies.
回答7:
Just use VS.NET with C and Win32 api.
No runtime needed of course, as the CRT is native.
回答8:
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.
回答9:
Check out Microsoft's Express editions of their developer tools.
回答10:
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.
来源:https://stackoverflow.com/questions/589387/developing-lightweight-no-runtime-windows-based-gui-applications-using-free-to