Какой самый быстрый путь к написанию облегченной программы с графическим интерфейсом в Windows? - PullRequest
7 голосов
/ 07 ноября 2008

Мне нужен небольшой (<30 МБ) автономный исполняемый файл Windows (один файл), который создает окно, которое запрашивает у пользователя местоположение каталога, а затем запускает другую программу в этом каталоге. </p>

Этот исполняемый файл должен работать в версиях Windows для XP, Vista, Server 2003 и Server 2008 в 32-разрядной и 64-разрядной версиях на архитектуре x86-64, а также на чипах Itanium.

Было бы впечатляюще, если бы нам нужно было собрать его только один раз, чтобы запустить на всех этих платформах, но это не является обязательным требованием. Это для проприетарной системы, поэтому код GPL запрещен.

Какой самый быстрый способ соединить это?

Вот некоторые вещи, которые я изучаю, поэтому, если у вас есть информация об их жизнеспособности, я полностью об этом:

  • Perl / Tk использует perl2exe для получения двоичного файла.
  • Рубин с wxruby
  • Изучайте программирование на MFC и делайте это правильно, как и все.

Ответы [ 16 ]

15 голосов
/ 07 ноября 2008

А как насчет сценария WSH? Это не будет exe-файл, верно, но для запроса папки я не вижу необходимости в exe-файле, тем более в 30 Мб ...

Сценарий 1Kb, сохраните его под любым именем с расширением vbs и запустите его. Это, если неясно, запрашивает имя папки, а затем запускает calc.exe из подкаталога system32. Конечно, вы можете сделать это намного лучше за 2 или 4 килобайта.

Set WshShell = WScript.CreateObject("WScript.Shell")
win = InputBox("Please type your Windows folder location.")
If Right(win,1) <> "\" Then
  win = win & "\"
End If
WshShell.Run win & "system32\calc.exe"

Чтобы добавить диалог обозревателя папок вместо InputBox, отметьте this out.

Очевидные преимущества:

  • Простота (ну, VB безобразен, но вы можете использовать JScript, если хотите), не нужно его компилировать!
  • Совместимость , работает на каждой имеющейся у меня машине Windows (с 98 года)
9 голосов
/ 07 ноября 2008

Я бы использовал .NET и WinForms. Идея решения на основе сценариев привлекательна, но на практике я часто обнаруживаю, что вы в конечном итоге перепрыгиваете через обручи, чтобы сделать что-то, выходящее за рамки основного случая, и при этом у вас нет гибкости, чтобы делать все, что вы хотите.

9 голосов
/ 07 ноября 2008

Самый быстрый способ для Windows для легкого и быстрого графического интерфейса? Одним словом .. Delphi! Пока ему не хватает поддержки 64 бит, но тогда FreePascal придет на помощь.

5 голосов
/ 07 ноября 2008

Наличие небольшого автономного приложения и его быстрая разработка, как я сожалею, обычно противоречивые требования.

Если честно, учитывая невероятно простое приложение, я написал бы его на C с прямыми вызовами Win32: один вызов SHBrowseForFolder (), чтобы получить каталог, и один - ShellExecuteEx (), чтобы запустить программу. Даже MFC слишком тяжелый для такого скромного применения. Установите для среды выполнения C статическую связь, и вы сможете сохранить размер автономного исполняемого файла менее 100 КБ. Приличный кодер Windows C должен справиться с этим менее чем за час, при условии, что он у вас есть.

5 голосов
/ 07 ноября 2008

Python с wxWidgets или Tkinter должен быть в состоянии сделать это практически без усилий. Работает на всем, и py2exe даст вам автономный исполняемый файл.

4 голосов
/ 07 ноября 2008

Tcl / tk является одним из решений. Вы можете иметь один исполняемый файл (включая пользовательские образы, библиотеки DLL и т. Д.), Используя нечто, называемое «starpack» - виртуальную файловую систему, которая является интерпретатором tcl и кодом приложения. Я думаю, что это будет весить пару мегабайт.

По вашим спецификациям мне понадобится 15 минут, чтобы получить первую рабочую версию.

Tcl / Tk имеет лицензию BSD.

3 голосов
/ 07 ноября 2008

Для быстрой и грязной программы с графическим интерфейсом, как вы сказали, вы можете использовать скрипт AutoIt . Вы даже можете скомпилировать в exe.

Для примера AutoIt с графическим интерфейсом вы можете проверить мой скрипт перенаправления stdout в предыдущем ответе здесь

3 голосов
/ 07 ноября 2008

Я согласен с ответом Tcl / Tk выше. Для получения дополнительной информации о старпаке, на который он ссылается, см .: http://www.equi4.com/tclkit/ это интерпретатор Tcl / Tk, доступный для различных ОС, всего около 1 МБ. В прошлом, очевидно, были озабочены внешним видом и интерфейсом Tcl / Tk, но эта проблема была решена с помощью новой платформы под названием «Tile», которая поддерживает нативный внешний вид ОС пользователя.

3 голосов
/ 07 ноября 2008

Несмотря на все свои недостатки, Visual Basic исторически отлично подходил для таких сверхпростых приложений, как эта.

2 голосов
/ 07 ноября 2008

WxWidgets ; это кроссплатформенная, бесплатная, с открытым исходным кодом и проста в освоении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...