I do maintenance on a lot of laptops. Obviously, when I need to run programs on them, I put either the
installer or the portable-app on a USB thumb drive. But when I need to run the same program on
several different computers quickly, it can be cumbersome.
The solution to this is to create:
- an always-resident AHK program watches for WM_DEVICECHANGE. When it sees that, it checks to see if it's a USB flash drive it supports. If it is, then it allows the user to do some extra things.
- This "USB insertion watcher" program must be manually installed, since many computers are configured to prevent flash-drive-autorunning. However, since this is the ONLY program we'll have to manually run, it's not that bad of a tradeoff.
- To allow me to install it on MANY different computers, including sometimes computers that other people frequently use, it MUST be low-RAM-overhead and no-CPU-overhead, so it's not a burden for others to run it on my behalf.
- actually, Windows OS has all sorts of stuff that it does automatically when a USB device is inserted, and none of that stuff really takes up extra RAM overhead... is there any chance I could tell the OS to "load my program when device X is inserted", much like any other USB device driver? So it doesn't have to be always-resident? (without it being a USB device driver itself)
- While it could autorun a program on insertion, more likely I'd just have it enable a special shortcut key, and that shortcut key would open up a launcher. That way, if I used this on someone else's computer, it wouldn't constantly open a pop-up the moment they plugged my stick in. Similarly, if I'm inserting the stick because I want to run something OUTSIDE of the launcher, I don't want the launcher to open up, because that takes extra time.
- There are a variety of launchers available, but I have one specific requirement that they may not fulfill:
so it's possible I'd quickly write one of my own. Others I might consider:
- I have to be able to quickly run the SAME program on multiple computers. There are several ways to do this:
- when I choose a program to run, the launcher remembers which one was run most recently, writes it to the flash drive, and on the next computer, the launcher offers me the most-recently-run program first
- I have 26 launch-options, each attached to a given alpha key. Then, when I plug the stick in, I only have to press two keys: 1) to open the launcher, 2) whichever key represents that specific program that I want to run over and over.
Specific things I'd want to be able to launch:
- battery monitor
Installs the Thermal/Battery Analysis Tool, runs it, and opens it to the second tab. It also opens the Windows OS power window, and moves it alongside the Analysis Tool.