Вайбкодим .EXE под Windows с GUI на AutoHotkey v2
История о том, как превратить консольный скрипт в полноценное Windows приложение с GUI на AutoHotkey v2 при помощи нейросетей и вайбкодинга. Разбираем этапы от поиска инструментов до борьбы с интерфейсом в стиле софта нулевых без единой строчки кода, написанной вручную.
https://habr.com/ru/articles/1016392/
#вайбкодинг #нейросети #программирование #autohotkey #cmd #ffmpeg #gemini #qwen
Windows users mostly dislike the command-line. This GUI utility is useful.
```
#Requires AutoHotkey v2.0
#SingleInstance Force
MainGui := Gui("+AlwaysOnTop", "CSV to XLSX Converter")
MainGui.SetFont("s10", "Segoe UI")
MainGui.Add("Text",, "Input CSV File:")
EditFile := MainGui.Add("Edit", "w400 ReadOnly", "No file selected...")
MainGui.Add("Button", "x+10 w80", "Browse").OnEvent("Click", SelectFile)
MainGui.Add("Text", "xm", "Output Folder:")
EditDir := MainGui.Add("Edit", "w400 ReadOnly", "No folder selected...")
MainGui.Add("Button", "x+10 w80", "Browse").OnEvent("Click", SelectFolder)
MainGui.Add("Text", "xm h10", "") ; Spacer
BtnConvert := MainGui.Add("Button", "xm w100 h40 Default", "Convert Now")
BtnConvert.OnEvent("Click", RunConversion)
MainGui.Show()
SelectFile(*) {
Selected := FileSelect(3, , "Select your CSV file", "CSV Files (*.csv)")
if Selected
EditFile.Value := Selected
}
SelectFolder(*) {
Selected := DirSelect(, 3, "Select the destination folder")
if Selected
EditDir.Value := Selected
}
RunConversion(*) {
InputPath := EditFile.Value
OutputDir := EditDir.Value
if (InputPath = "No file selected..." || OutputDir = "No folder selected...") {
MsgBox("Please select both a file and a destination!", "Missing Info", "Icon!")
return
}
FullCommand := 'csv2xlsx.exe -o="' . OutputDir . '\output.xlsx" ' . InputPath
try {
RunWait(FullCommand)
MsgBox("Success! The file has been converted.", "Done", "Iconi")
} catch {
MsgBox("Error.", "Execution Failed", "Iconx")
}
}
```
#autohotkey #gui #coding
#TerSoftware (Utilitários de Teclado/Mouse/Touch - softwares que ampliam a funcionalidade do teclado, do mouse/trackpad ou das telas de toque)
Autokey (Linux)
Alternativa ao AutoHotKey (Windows). Uso ele basicamente para duas coisas:
- 1) remapear teclas. Exemplo: enquanto mantenho AltGr pressionado, transformo as letras do lado direito em um NumPad (meu teclado é 60%);
- 2) expansão de texto. Exemplos: digitando ":email" é preenchdio "[email protected]", ":dt" = "2026-02-24" (data), ":hr" = "12:53" (hora) etc.
PS: Uso também o keyd para trabalhar com várias camadas (layers) no teclado. Mas este é mais chato e "perigoso" de configurar; o mesmo dev fez também o warpd, que permite mover o cursor do mouse usando o teclado.
[Introduction to Autokey — AutoKey Main 0.96.0 documentation](https://autokey.github.io/intro.html)
#Opensource #AutoHotkey #Windows
Kleine Fenster-Basteleien:
- Fenster Always-on-top
- Größe, Platzierung, Transparenz
- Profile für mehrere Fenster
Skripte und EXEn als Anregung für Fensterschubser.
https://www.tutonaut.de/praktisches-kleines-windows-tool-fenster-immer-im-vordergrund/
Resized the #Raycast window with #AutoHotKey on #Windows.
IfWinExist, Raycast
{ WinMove,,,1266,418,1000,1300
}
Yep, it worked. Settings screen looks good. Main window looks like shit because the viewport is still locked to it's original size and of course it STILL can't be resized even on Win. Great app, monumental and almost dealbreaking UI flaw.
I only use it for an emoji picker right now so it's tolerable. It may become triggering in the future..