AutoHotkey webinar: Connect to running scripts from Explorer Context Menu

Video Hour 1:  High Level: Connect to running scripts from Explorer Context Menu

  1. Context menus at work
    1. Quick Access Popup real life example
  2. Pieces of the puzzle (Here is a link to the below files)
    1. Receiver (script or compiled): Receiver.ahk
    2. Messenger (compiled): Messenger.exe
    3. Testing at command line: Test.bat
    4. Setup context menus: RegEdit import InstallContextMenus.reg
    5. Remove context menus: RemoveContextMenus.bat
    6. Questions

Video Hour 2: Coding and Q&A

Script Highlight: Random code generator.ahk by Maestrith (Author of AHK Studio)

  • Generate a list of random characters
  • Control what is in the unique list
  • How many unique “Keys” are generated
#SingleInstance,Force
Random:=[],Dup:=[],Items:=[]
for a,b in StrSplit("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") ;put whatever characters you want in here
	Random.Push(b) ;Add each character to Random Array
InputBox,Count,How Many Codes,How Many Codes do you want?
InputBox,Length,How Long For Each Code,How Long?
While(Items.MaxIndex()<Count){ ;Keep iterating until you have enough "keys"
	Out:=""  ;Clear out variable
	while(StrLen(Out)<Length){
		Random,Digit,0,% Random.MaxIndex() ;keep max lenght of random at right level
		Out.=Random[Digit] ;append the Random digit to out.
	}
	if(!Dup[Out])
		Items.Push(Out),Dup[Out]:=1 ;Add key to object
}
for a,b in Items ;Iterate over list
	Total.=b "`n" ;Add to total with new line
msgbox % Clipboard:=Total

AutoHotkey webinar- Intro to GUIs

In this AutoHotkey Webinar we covered: Introduction to GUIs  (Here is a link to scripts shared during the webinar)

Video Hour 1:  High Level:

  • Why you should create a GUI
  • Pros / Cons about Using a GUI
  • Pros / Cons about Programming a GUI
  • Rules of Thumb / Tips
  • Overview of various GUIs available in AutoHotkey
  • Resources: Tutorials & Tools for building GUIs

Video Hour 2: Coding and Q&A

Script Highlight: TaskDialog from just me and TaskDialog Creator from


When should you consider a GUI

  • Help select from a list of items that changes frequently
  • Use dropdowns , radio buttons, etc. to control what can be selected
  • Target audience using the tool is non-tech savvy
  • The list you want to choose from is available progromatically (files in folder, different accounts, etc)
  • You want to display data and be able to sort by columns keeping the rows intact
  • You want to lock-down use of the tool
  • You want to make sure certain values/fields get updated (tags for an email, subject line, etc)
  • Your code is long and key data points that you change are mixed throughout the script
  • Dealing with Images / Video files- Preview of image helps humans classify what “it” is

Pros / Cons of Using GUIs

Pros of Using GUIs

  • Non-programmers can do a lot while knowing little
  • Color / Animation can ease functionality / Usage
  • Graphics can convey data
  • Build in ways to reduce errors
  • input box for path, etc
  • “wizard” can be a template for end-user

Cons of Using GUIs

  • Non-programmers can do a lot while knowing little (make sure you build-in safeguards*)
  • Not as flexible / can typically only do what has been defined by designer
  • Manually have to repeat process each use
  • Poorly designed UI can be very painful

* Hawaii Missile-Alert Crisis


Pros / Cons of Programming GUIs

Pros of Programming GUIs

  • Can “lock down” interaction (have drop-downs, radio buttons, etc. ) with specific commands (instead of free-form typing by user)
  • Can reduce errors / mistakes by limiting options

Cons of Programming GUIs

  • Users can do actions, in any order, at any time (Not procedural)
  • Different screen resolutions
  • Various input (Mouse, Keyboard, touch,etc.)

Rules of Thumb / Tips

  • KISS- As they say, “less is more”.
  • Use Tabs to help separate tasks
  • Always “destroy” the GUI before you create it (yes, even the first time)
  • Name your GUIs
  • Label your inputs with pre-selected text or text control (e.g. edit fields)
  • Keep your design-focus on the End-User
  • Remember GUIs are EVENT driven (not linear – user can start “anywhere”)
  • Listviews & Treeviews- Disable redraw, Put in new info, Enable redraw
  • Build-in safeguards against users making mistakes

Quick Demonstrations  (See this file for the scripts)

  • Input box (multiple edit fields)
  • Tabs, Checkboxes, Radio Buttons
  • Resizable Edit
  • ListView
  • TreeView
  • DropdownList, ComboBox, Context sensitive help
  • On-Screen Display
  • Installation / Progress Bar
  • Editor with Menu bar
  • Menus

Tutorials

Use HTML & CSS in your GUIs by JoeDF

Tools

AutoHotkey Merchandise-White Stress ball


Report Generation- Crank out automated reports!

report generation

Report Generation

In market research I would very frequently have to crank out a ton of different versions of reports for a given study.  In the corporate world, like it or not, PowerPoint is still king.  :(   By building a generic template I was able to drastically speed-up my report generation.

Setting up the template takes a little time at first however, in the long run, it will save you an amazing amount of time!

There is a lot more I automated however having a flexible template is always a great place to start!