Was ist der schnellste Weg, um ein leichtes GUI-Programm unter Windows zu schreiben?

7

Ich möchte eine kleine (& lt; 30MB) eigenständige Windows-Programmdatei (eine einzelne Datei), die ein Fenster erstellt, das den Benutzer nach dem Ort eines Verzeichnisses fragt und dann ein anderes Programm in diesem Verzeichnis startet.

Diese ausführbare Datei muss auf XP-, Vista-, Server 2003- und Server 2008-Versionen von Windows in 32-Bit und 64-Bit auf x86-64-Architektur sowie Itanium-Chips ausgeführt werden.

Es wäre spektakulär, wenn wir es nur einmal erstellen müssten, um es auf all diesen Plattformen laufen zu lassen, aber das ist keine Voraussetzung. Dies ist für ein proprietäres System, also GPL-Code ist tabu.

Was ist der schnellste Weg, dies zusammen zu setzen?

Das sind einige Dinge, über die ich nachdenke. Wenn Sie also Informationen über ihre Überlebensfähigkeit haben, bin ich ganz klar:

  • Perl / Tk benutzt perl2exe, um die Binärdatei zu erhalten.
  • Ruby mit wxruby
  • Lerne MFC-Programmierung und mache es wie alle anderen auch.
Adrian Dunston 07.11.2008, 17:06
quelle

16 Antworten

15

Was ist mit einem WSH-Skript? Es wird keine exe sein, richtig, aber um nach einem Ordner zu fragen, sehe ich keine Notwendigkeit für eine exe-Datei, geschweige denn eine 30Mb-Datei ...

Ein 1Kb-Skript, speichern Sie es mit der vbs-Erweiterung wie Sie wollen und führen Sie es aus. Falls dies nicht klar ist, werden Sie nach einem Ordnernamen gefragt und dann calc.exe im Unterverzeichnis system32 ausgeführt. Sie können natürlich viel besser als das in 2 oder 4 Kb.

%Vor%

Um einen Ordnerbrowser-Dialog anstelle einer EingabeBox hinzuzufügen, überprüfen Sie das heraus.

Klare Vorteile sind:

  • Einfachheit (na ja, VB ist hässlich, aber Sie können JScript verwenden, wenn Sie möchten), keine Notwendigkeit, es zu kompilieren!
  • Kompatibilität , funktioniert auf jedem Windows-Rechner, den ich zur Verfügung habe (ab 98)
Vinko Vrsalovic 07.11.2008, 17:14
quelle
9

Ich würde .NET und WinForms verwenden. Die Idee der skriptgesteuerten Lösung ist ansprechend, aber in der Praxis finde ich oft, dass du am Ende durch die Ringe springst, um alles zu tun, was über den Basisfall hinausgeht und immer noch nicht die Flexibilität hast, alles zu tun, was du willst.

    
user3891 07.11.2008 17:37
quelle
9

Schnellster Weg unter Windows für eine leichte und schnelle GUI? Ein Wort .. Delphi! Es fehlt jetzt die 64-Bit-Unterstützung, aber dann würde FreePascal zur Hilfe kommen .

    
utku_karatas 07.11.2008 17:21
quelle
5

Eine kleine Stand-alone-Anwendung zu entwickeln und sie schnell zu entwickeln, tut mir leid, sagen Sie, normalerweise widersprüchliche Anforderungen.

Um ehrlich zu sein, würde ich angesichts der unglaublich einfachen Anwendung in C mit direkten Win32-Aufrufen schreiben: ein Aufruf an SHBrowseForFolder (), um das Verzeichnis zu erhalten, und eins an ShellExecuteEx (), um das Programm auszuführen. Sogar MFC ist viel zu schwer für solch eine bescheidene Anwendung. Legen Sie fest, dass die C-Laufzeit statisch verknüpft ist, und Sie sollten die Größe der eigenständigen ausführbaren Datei auf weniger als 100 KB beschränken können. Ein anständiger Windows C-Coder sollte es in weniger als einer Stunde schaffen, vorausgesetzt, Sie haben einen zur Hand.

    
DavidK 07.11.2008 17:42
quelle
5

Python mit entweder wxWidgets oder Tkinter sollte dies fast ohne Aufwand tun können. Läuft auf alles, und py2exe wird Ihnen eine eigenständige ausführbare Datei bringen.

    
Electrons_Ahoy 07.11.2008 17:29
quelle
4

Tcl / tk ist eine Lösung. Sie können eine einzelne ausführbare Datei (einschließlich benutzerdefinierter Bilder, dlls usw.) verwenden, indem Sie etwas namens "starpack" verwenden - ein virtuelles Dateisystem, das sowohl tcl-Interpreter als auch Anwendungscode ist. Ich denke, es würde vielleicht ein paar Megabytes wiegen.

Aus Ihren Spezifikationen würde ich persönlich vielleicht 15 Minuten brauchen, um eine erste funktionierende Version zu bekommen.

Tcl / Tk hat eine BSD-Lizenz.

    
Bryan Oakley 07.11.2008 17:49
quelle
3

Visual Basic war für all seine Schwachstellen in der Vergangenheit hervorragend für super-einfache Anwendungen wie diese.

    
Matt Dillard 07.11.2008 17:25
quelle
3

Ich stimme der obigen Tcl / Tk-Antwort zu. Für weitere Informationen über das Starpack, auf das er sich bezieht, siehe: Ссылка ist es ein Tcl / Tk-Interpreter, der für verschiedene Betriebssysteme verfügbar ist 1 MB. In der Vergangenheit ging es anscheinend um das Aussehen und Verhalten von Tcl / Tk UIs. Dies wurde jedoch durch ein neues Framework mit dem Namen "Tile" behoben, das das native Aussehen des Betriebssystems des Benutzers unterstützt.

    
George Jempty 07.11.2008 18:03
quelle
3

Für ein schnelles und schmutziges GUI-Programm, wie Sie es gesagt haben, können Sie ein AutoIt Skript verwenden. Sie können sogar zu einer exe kompilieren.

Bei einem GUI-Beispiel von AutoIt können Sie mein stdout-Umleitungsskript in einer früheren Antwort überprüfen: hier

    
PabloG 07.11.2008 19:36
quelle
2

wxWidgets ; es ist plattformübergreifend, kostenlos, Open Source und einfach zu erlernen

    
Jaywalker 07.11.2008 17:21
quelle
2

Sie könnten dies in MFC tun und eine ausführbare Datei in weniger als 100k haben. Wenn Sie die Größe Ihrer ausführbaren Dateien gering halten möchten, können Sie UPX im Allgemeinen verwenden, um eine EXE-Komprimierung durchzuführen. Wenn Sie ein Beispiel möchten, werfen Sie einen Blick auf uTorrent . Es ist eine voll funktionsfähige BitTorrent-App in weniger als 300.000 ausführbaren Dateien.

    
Douglas Mayle 07.11.2008 17:09
quelle
1

Ich benutze HTA (HTML-Anwendung) für schnell und schmutzig form & amp; Skriptanwendungen. Weitere Informationen und Beispiele finden Sie unter Microsoft HTA Developers Center . Dies verwendet im Grunde HTML für das Formular und jede HTML-zugängliche Skriptsprache für das Skript. Normale Browser-Sicherheit wird umgangen, so dass Sie fast alle Interna des Betriebssystems erreichen können. Die obige Seite enthält auch Links zu verschiedenen Tools, die den Scripting-Teil für Sie fast automatisieren.

    
Ken Paul 07.11.2008 18:28
quelle
1

PyQt funktioniert dafür wirklich gut. Binärdateien für Windows hier:

Ссылка

Ein gutes Buch hier:

Ссылка

Und Sie können diese mit verschiedenen Methoden einfrieren, wenn Sie exe (s) benötigen.

    
David Watson 18.01.2011 16:52
quelle
0

Ähnlich wie das, was Vinko Vrsalovic gesagt hat, können Sie eine HTA-Anwendung verwenden. Es ist so einfach wie das Erstellen einer Webseite mit Windows-Scripting-Host-Funktionalität. Ich habe ein paar Dienstprogramme mit JScript erstellt und es ist wirklich einfach und schnell Ссылка

    
artificialidiot 07.11.2008 17:44
quelle
0

Diese Antworten sind unglaublich.

Mit dem Visual Studio Forms-Editor können Sie WinForms erstellen und automatisch den Standard-GUI-Code generieren (was für die meisten anderen Sprachen und Toolkits bestenfalls ein Ärgernis ist). Dann können Sie C # oder eine andere .NET-Sprache verwenden. .NET hat Bestands-Widgets für Dateiwähler. Ich könnte dieses Skript in 20 Minuten schreiben und es wird auf jeder Ihrer Zielplattformen kostenlos laufen. Zeichnen Sie die GUI aus, ziehen Sie eine Dateiauswahl per Drag-and-Drop, füllen Sie vielleicht zwei Haken aus, um die Datei "Eine andere Datei starten, als sie wollten" auszuführen, fertig.

    
Dustin Getz 07.11.2008 17:48
quelle
0

Ich empfehle Autohotkey (AHK) oder Autoit . Beide unterstützen win95 + (mit Vorbehalten für bestimmte Funktionen). Sie können in kleine .exe ohne externe Abhängigkeit (neben nativen DLLs) kompiliert werden.

Pros:

  • kleine Größe
  • einfach zu Code schreiben
  • nützlich für einfache - komplexe Operationen
  • kann GUI einfach erstellen

Nachteile:

  • Lernkurve (wie Syntax ist ungewöhnlich)
Vijay 24.01.2014 08:08
quelle