Arrays are a damn godsend. More specifically, they’re an easy way to deal with large lists. Why is this useful you ask? Imagine you want to run the same code on multiple items. The items could be numbers, letters, words, full sentences—anything. By putting those things in a list, or an array, you can loop through hundreds, even thousands, of items with just a few lines of code.
AHK: How to Decipher the Caesar Shift with Code
VG JNF N OEVTUG PBYQ QNL VA NCEVY NAQ GUR PYBPXF JRER FGEVXVAT GUVEGRRA JVAFGBA FZVGU UVF PUVA AHMMYRQ VAGB UVF OERNFG VA NA RSSBEG GB RFPNCR GUR IVYR JVAQ FYVCCRQ DHVPXYL GUEBHTU GUR TYNFF QBBEF BS IVPGBEL ZNAFVBAF GUBHTU ABG DHVPXYL RABHTU GB CERIRAG N FJVEY BS TEVGGL QHFG SEBZ RAGREVAT NYBAT JVGU UVZ
-No idea what this says. Damn you, Caesar.
The Caesar Shift is supposed to be ridiculously easy to decipher. I say supposed to be because while it might be easy to crack, translating the bastard is mind-numbingly painful if you have a substantial block of text.
There are quite a few resources online that’ll do it for you, but for kicks, I wrote an AHK that automates it—if you know how many positions you want to shift.
So How Does the Shift Work?
Continue reading “AHK: How to Decipher the Caesar Shift with Code”
AHK: How to Loop Code through Images
Need to make changes to every pixel in an image? As it turns out, that’s not so difficult with AutoHotkey. From what I’ve been able to gather, all you really need is the height and width of the picture so that the loop knows how many times to run and the XY coordinates of the picture’s upper left corner.
The Code
Note that CoordMode, Pixel, Screen tells the computer to use the XY coordinates relative to the screen rather than the window.
CoordMode, Pixel, Screen
Height:=Height of the Image
Width:=Width of the Image
Xaxis:=X-Coordinate to start at
Yaxis:=Y-Coordinate to start atloop, %Height%
{
loop, %Width%
{Do This Code, Xaxis, Yaxis
Xaxis++
}
Xaxis:= Xaxis-Width
Yaxis++
}
How the Loops Work
AHK: How to Extract Every Hex Code from an Image
Say for some reason, you really wanted to know the hex code for every color in an image. And you really wanted to use AutoHotkey. This is the program for you.
Continue reading “AHK: How to Extract Every Hex Code from an Image”
AHK: How BGR Color Works
Sadly, in AutoHotkey scripts you can’t just demand “LIME” or “GENTLY BURNT ORANGE”. The computer will spit out an error message if you try. It requires a color ID in hexadecimal BGR (Blue, Green, Red) format.
If you’re wondering what the hell that is, you’re not alone.
The simple answer? It’s an 8 digit code assigned to each color. Look them up on Google if you want to preserve your mental health.
Keep reading if you’re less partial to your sanity.
The Complicated Answer
I just relearned how to count, damn it. That’s how complicated this is.
You see, Color ID’s are made up of a fixed prefix and numbers that represent a combination of blue, green and red.
The amount of those colors can be anywhere between 0 and 255. Here starts the problem of counting. How do you tell the computer to use the max green value (255) if you can only use a 2 digit number?
You use a different counting system by adding letters A-F. That’s how.
It’s Base-16 because you’re counting by combining 16 characters: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f.
If you’re only manipulating one color while the others are at 0, all you really need to know is that lower values are darker than higher ones.
When you start combining colors, the same normal color rules apply. To make yellow, you jack up the red and green values, so the BGR will read 0x00ffff. Blue and red makes purple, so 0xff00ff.
The oddest thing to get used to is white being the max value of blue, green and red combined, 0xffffff. Just remember that the higher the value, the more they cancel each other out until they reach nothing. White.
AHK: How to Automate Mouse Movements
Automating mouse drags is… Not as useful as I expected. But wildly helpful if you need to draw the same thing on a computer repeatedly. Keep in mind, it only works with straight lines. Quite wonderfully, you can control that line entirely down to the pixel.
AHK: How to Lose Friends & Alienate People with Code
Automating keystrokes is a fun way to spend an afternoon. It’s also an entertaining to wrap your head around the idea of loops and variables. If you’re wanting extra practice, give these a try.
Note: You’ll need AutoHotkey installed for this. If you don’t know what that is, click here.
Important Commands to Note:
run, Name of Program.exe
SendInput Keystrokes to Send
Sleep, Delay in Milliseconds
Loop, # of times to run loop
{
Commands to run
}
All Work and No Play
Take a look at this code.
run, notepad.exe
Loop, 100
{
SendInput All Work And No Play Makes Jack A Dull Boy.
}
return
Keep in mind that everything inside the loop will happen 100 times, so with just 6 lines of code, you can make the computer type this sentence over and over again. In action, it kind of makes your computer seem possessed.
Continue reading “AHK: How to Lose Friends & Alienate People with Code”
AHK: How to Use IF/ELSE in a GUI
Back to a Simple Box…
Important Commands to Note:
Gui, Add, Checkbox, Variable4UserInput*, TextToDisplay
* Stored variable is 1 if checked, 0 if unchecked
This is a continuation of How to Make a User Interface except this is the part where the variables actually make something happen. Start off with a simple GUI, like this:
AHK: How to Make a User Interface
I loathe ComputerSpeak.
Missed commas. Misspelled commands. A { instead of a ( because those bastards look exactly alike. Opening the script guarantees that I will make at least one of these errors while updating the code to do something slightly different.
So in order to combat this, I’m making my script a muzzle.
Call it a GUI (Graphical User Interface), call it a window, call it a box-it’s all the same to me. Essentially I’m turning this jumble of script on the right to this nice, soothing thing on the left.
In the interest of keeping it simple, let’s make the simplest GUI possible and build up from there.
AHK: How To Delete Every Other File in a Folder
STEP 1: Make a new AutoHotkey file. Not sure how to do that? Click here.
STEP 2: Right click your new AutoHotKey Script → Edit Script.
STEP 3: Copy and paste this text into the body.
Var = 8071
Loop, 100
{
FileDelete, C:\Users\Desktop\Sentient Webcam\IMG_%Var%.jpg
Var+=2
}
return
STEP 4: Go to the folder with all the files in it, and copy the file path so the computer knows where to look. Paste that in place of the red text in the script.
Continue reading “AHK: How To Delete Every Other File in a Folder”