
It's okay even if it's your first time, AutoHotkey programming
Description
Book Introduction
Anyone can create their own programs with AutoHotkey!
An AutoHotkey guidebook written by Pnal, author of the popular course "Pnal AutoHotkey Course."
AutoHotkey is a programming language that belongs to the interpreted language and is specialized for automation tasks (macros).
You can create a macro with just a simple code, but despite its convenience, it is not yet known to many people.
『It's Okay Even if It's Your First Time, AutoHotkey Programming』 written by Pnal, the operator of the 'Pnal AutoHotkey Course' site, contains most of the ways to use AutoHotkey, including the principles of programming, basic concepts of AutoHotkey, macro creation methods, web automation, and creating your own programs, even for those who are new to AutoHotkey and programming.
With this book, you will be able to learn the fundamentals of programming step by step, as well as work, daily life, and even web automation.
An AutoHotkey guidebook written by Pnal, author of the popular course "Pnal AutoHotkey Course."
AutoHotkey is a programming language that belongs to the interpreted language and is specialized for automation tasks (macros).
You can create a macro with just a simple code, but despite its convenience, it is not yet known to many people.
『It's Okay Even if It's Your First Time, AutoHotkey Programming』 written by Pnal, the operator of the 'Pnal AutoHotkey Course' site, contains most of the ways to use AutoHotkey, including the principles of programming, basic concepts of AutoHotkey, macro creation methods, web automation, and creating your own programs, even for those who are new to AutoHotkey and programming.
With this book, you will be able to learn the fundamentals of programming step by step, as well as work, daily life, and even web automation.
- You can preview some of the book's contents.
Preview
index
Introduction
About this book
Part 01.
Programming and AutoHotkey Basics
CHAPTER 01.
Programming and AutoHotkey
Section 01.
Programming Overview
Section 02.
Introducing AutoHotkey
Section 03.
Preparing for AutoHotkey Programming
Section 04.
How to parse AutoHotkey syntax
CHAPTER 02.
Getting Started with AutoHotkey
Section 05.
Creating an AutoHotkey Script
Section 06.
MsgBox (top) that prints text
Section 07.
MsgBox that prints text (bottom)
Section 08.
Escape sequence
Section 09.
Export to executable file
Section 10.
Programming Problem (1)
CHAPTER 03.
Variables and Operators
Section 11.
Meaning of variables
Section 12.
Built-in variables
Section 13.
Meaning of operators
Section 14.
Types of operators (top)
Section 15.
Types of Operators (Part 2)
Section 16.
Programming Problem (2)
CHAPTER 04.
Comprehensive programming problem
Section 17.
Comprehensive Programming Problems for Part 01
Part 02.
Automation Programming
CHAPTER 01.
Automation Programming Fundamentals
Section 18.
Automation Programming
Section 19.
Hotkey
Section 20.
Give a delay
Section 21.
Terminate the script
Section 22.
Run another program
Section 23.
Programming Problem (3)
CHAPTER 02.
Variable Deepening and Built-in Functions
Section 24.
Valid scope of variables (upper)
Section 25.
Variable scope (bottom)
Section 26.
Built-in functions
Section 27.
Function return value
CHAPTER 03.
Loops and conditional statements
Section 28.
loop
Section 29.
Conditional statement (top)
Section 30.
Conditional statement (middle)
Section 31.
Conditional statement (Part 2)
Section 32.
Control statement ins and outs
Section 33.
Programming Problem (4)
CHAPTER 04.
Coordinates and input
Section 34.
Coordinates on the computer
Section 35.
CoordMode
Section 36.
MouseMove & Click
Section 37.
MouseGetPos
Section 38.
Send
Section 39.
Programming Problem (5)
CHAPTER 05.
Recognize elements on the screen
Section 40.
Pixels and color values
Section 41.
ImageSearch
Section 42.
PixelSearch
Section 43.
PixelGetColor
Section 44.
Programming Problem (6)
CHAPTER 06.
A resting article
Section 45.
To you who are tired of learning
Section 46.
Content that was passed over
CHAPTER 07.
Control Control
Section 47.
Understanding the composition of creativity
Section 48.
Inactive Mouse Input ControlClick
Section 49.
Inactive Keyboard Input ControlSend
Section 50.
Change control contents ControlSetText
Section 51.
Programming Problem (7)
CHAPTER 08.
function
Section 52.
Create your own function
Section 53.
Optional parameters
Section 54.
References and backreferences
Section 55.
Call by reference
Section 56.
Programming Problem (8)
CHAPTER 09.
For even more awesome code
Section 57.
Split into script files
Section 58.
How to use return
CHAPTER 10.
Comprehensive program issues
Section 59.
Comprehensive Program Problems for Part 02
Part 03.
Practical program development
CHAPTER 01.
object-oriented programming
Section 60.
object-oriented programming
Section 61.
Objects, instances, and classes
Section 62.
Creating a very simple class
Section 63.
Programming Problem (9)
CHAPTER 02.
Arrays and maps
Section 64.
Array and Map Overview
Section 65.
arrangement
Section 66.
Map
Section 67.
Arrays, maps, and objects
Section 68.
Programming Problems (10)
CHAPTER 03. GUI Programming
Section 69. Meaning of GUI
Section 70.
Create a window
Section 71.
Using the Gui object
Section 72.
Creating a Control
Section 73.
Events and callback functions
Section 74.
Using the GuiControl object
Section 75.
Programming Problems (11)
CHAPTER 04.
Window Management
Section 76.
Activate and resize windows
Section 77.
Check if a window exists and is active
Section 78.
Other window functions
Section 79.
Programming Problems (12)
CHAPTER 05.
String Processing Basics
Section 80.
Find string InStr
Section 81.
Find the length of a string StrLen
Section 82.
String Splitting StrSplit
Section 83.
Get part of a string SubStr
Section 84.
String replacement StrReplace
Section 85.
Loop Parse
Section 86.
Programming Problem (13)
CHAPTER 06.
Advanced String Processing
Section 87.
Regular expressions (regex)
Section 88.
Use of patterns
Section 89.
RegExMatch
Section 90.
RegExReplace
Section 91.
Regular expressions
Section 92.
Programming Problems (14)
CHAPTER 07.
File navigation and input/output
Section 93.
Loop Files
Section 94.
Check if file exists and read it
Section 95.
Create and delete files
Section 96.
Other file functions
Section 97.
Programming Problems (15)
CHAPTER 08.
Comprehensive program issues
Section 98.
Comprehensive Program Problems for Part 03
Part 04.
Enter the world of web automation!
CHAPTER 01.
Web Automation Programming
Section 99.
Web Automation
Section 100. HTML
Section 101.
Tags, Class, and ID
Section 102.
Developer Tools and XPath
CHAPTER 02. HTTP Requests
Section 103. HTTP Requests
Section 104.
WinHTTP - GET
Section 105.
WinHTTP - POST
Section 106. API
Section 107.
Programming Problems (16)
CHAPTER 03.
Selenium
Section 108.
Preparing for Selenium
Section 109.
Web Automation with Selenium
Section 110.
Specifying an element
Section 111.
Get page source code
Section 112.
Working with Selenium without a browser window
Section 113.
Selenium This and That
Section 114.
Programming Problems (17)
Part 05.
Answer and explanation
Concluding remarks
About this book
Part 01.
Programming and AutoHotkey Basics
CHAPTER 01.
Programming and AutoHotkey
Section 01.
Programming Overview
Section 02.
Introducing AutoHotkey
Section 03.
Preparing for AutoHotkey Programming
Section 04.
How to parse AutoHotkey syntax
CHAPTER 02.
Getting Started with AutoHotkey
Section 05.
Creating an AutoHotkey Script
Section 06.
MsgBox (top) that prints text
Section 07.
MsgBox that prints text (bottom)
Section 08.
Escape sequence
Section 09.
Export to executable file
Section 10.
Programming Problem (1)
CHAPTER 03.
Variables and Operators
Section 11.
Meaning of variables
Section 12.
Built-in variables
Section 13.
Meaning of operators
Section 14.
Types of operators (top)
Section 15.
Types of Operators (Part 2)
Section 16.
Programming Problem (2)
CHAPTER 04.
Comprehensive programming problem
Section 17.
Comprehensive Programming Problems for Part 01
Part 02.
Automation Programming
CHAPTER 01.
Automation Programming Fundamentals
Section 18.
Automation Programming
Section 19.
Hotkey
Section 20.
Give a delay
Section 21.
Terminate the script
Section 22.
Run another program
Section 23.
Programming Problem (3)
CHAPTER 02.
Variable Deepening and Built-in Functions
Section 24.
Valid scope of variables (upper)
Section 25.
Variable scope (bottom)
Section 26.
Built-in functions
Section 27.
Function return value
CHAPTER 03.
Loops and conditional statements
Section 28.
loop
Section 29.
Conditional statement (top)
Section 30.
Conditional statement (middle)
Section 31.
Conditional statement (Part 2)
Section 32.
Control statement ins and outs
Section 33.
Programming Problem (4)
CHAPTER 04.
Coordinates and input
Section 34.
Coordinates on the computer
Section 35.
CoordMode
Section 36.
MouseMove & Click
Section 37.
MouseGetPos
Section 38.
Send
Section 39.
Programming Problem (5)
CHAPTER 05.
Recognize elements on the screen
Section 40.
Pixels and color values
Section 41.
ImageSearch
Section 42.
PixelSearch
Section 43.
PixelGetColor
Section 44.
Programming Problem (6)
CHAPTER 06.
A resting article
Section 45.
To you who are tired of learning
Section 46.
Content that was passed over
CHAPTER 07.
Control Control
Section 47.
Understanding the composition of creativity
Section 48.
Inactive Mouse Input ControlClick
Section 49.
Inactive Keyboard Input ControlSend
Section 50.
Change control contents ControlSetText
Section 51.
Programming Problem (7)
CHAPTER 08.
function
Section 52.
Create your own function
Section 53.
Optional parameters
Section 54.
References and backreferences
Section 55.
Call by reference
Section 56.
Programming Problem (8)
CHAPTER 09.
For even more awesome code
Section 57.
Split into script files
Section 58.
How to use return
CHAPTER 10.
Comprehensive program issues
Section 59.
Comprehensive Program Problems for Part 02
Part 03.
Practical program development
CHAPTER 01.
object-oriented programming
Section 60.
object-oriented programming
Section 61.
Objects, instances, and classes
Section 62.
Creating a very simple class
Section 63.
Programming Problem (9)
CHAPTER 02.
Arrays and maps
Section 64.
Array and Map Overview
Section 65.
arrangement
Section 66.
Map
Section 67.
Arrays, maps, and objects
Section 68.
Programming Problems (10)
CHAPTER 03. GUI Programming
Section 69. Meaning of GUI
Section 70.
Create a window
Section 71.
Using the Gui object
Section 72.
Creating a Control
Section 73.
Events and callback functions
Section 74.
Using the GuiControl object
Section 75.
Programming Problems (11)
CHAPTER 04.
Window Management
Section 76.
Activate and resize windows
Section 77.
Check if a window exists and is active
Section 78.
Other window functions
Section 79.
Programming Problems (12)
CHAPTER 05.
String Processing Basics
Section 80.
Find string InStr
Section 81.
Find the length of a string StrLen
Section 82.
String Splitting StrSplit
Section 83.
Get part of a string SubStr
Section 84.
String replacement StrReplace
Section 85.
Loop Parse
Section 86.
Programming Problem (13)
CHAPTER 06.
Advanced String Processing
Section 87.
Regular expressions (regex)
Section 88.
Use of patterns
Section 89.
RegExMatch
Section 90.
RegExReplace
Section 91.
Regular expressions
Section 92.
Programming Problems (14)
CHAPTER 07.
File navigation and input/output
Section 93.
Loop Files
Section 94.
Check if file exists and read it
Section 95.
Create and delete files
Section 96.
Other file functions
Section 97.
Programming Problems (15)
CHAPTER 08.
Comprehensive program issues
Section 98.
Comprehensive Program Problems for Part 03
Part 04.
Enter the world of web automation!
CHAPTER 01.
Web Automation Programming
Section 99.
Web Automation
Section 100. HTML
Section 101.
Tags, Class, and ID
Section 102.
Developer Tools and XPath
CHAPTER 02. HTTP Requests
Section 103. HTTP Requests
Section 104.
WinHTTP - GET
Section 105.
WinHTTP - POST
Section 106. API
Section 107.
Programming Problems (16)
CHAPTER 03.
Selenium
Section 108.
Preparing for Selenium
Section 109.
Web Automation with Selenium
Section 110.
Specifying an element
Section 111.
Get page source code
Section 112.
Working with Selenium without a browser window
Section 113.
Selenium This and That
Section 114.
Programming Problems (17)
Part 05.
Answer and explanation
Concluding remarks
Detailed image

Into the book
AutoHotkey is a programming language specialized for automating tasks (macros).
It allows you to create macros with just simple code.
It means a programming language that can be programmed to have a computer do repetitive tasks instead of your hands.
Of course, it is possible to do this in other programming languages, but it will not be as simple to implement as AutoHotkey.
--- 「Part 01.
From "Programming and AutoHotkey Basics"
The beauty of AutoHotkey is automation programming.
Automation programming refers to writing programs that allow computers to perform tasks that are performed by humans.
Unlike people, computers don't get tired and can perform repetitive tasks very quickly.
AutoHotkey is specialized for these automation tasks.
… (omitted)… A computer program that can do many tasks much faster than a human can certainly be a knife to some people, depending on who uses it.
You should be aware that by learning this technology, you will be gaining the ability to harm other people's IT services.
All computer programs must be created and used only in a way that does not cause harm to others.
--- 「Part 02.
From "Automation Programming"
Arrays and maps are data structures that can group related values together.
The term 'data structure' may still be difficult, but you can just think of it as 'a way to store values.'
As explained earlier, as the size of the program grows, the number of variables used becomes unmanageable.
In these situations, we can use objects to make things more structured, but it is a lot of work to design concrete classes for this.
Wouldn't it be great if there was a simple way to manage related values under a single name? That's why we use arrays or maps, which allow us to treat related values as a single variable.
--- 「Part 03.
From “Developing a Practical Program”
When our computer (let's call it a "client" for the sake of brevity) makes a request to the server for the HTML code of a specific URL address, the server responds accordingly.
If everything works correctly, it will return the HTML code of the requested page along with a response code of 200 OK.
The web browser on the client receives this and 'renders' it.
It means that the code is made pretty and displayed on the page we see.
The same goes for other resources on that page.
If there are three images on that page, the client will ask the server three times, "Give me this image!", and the server will send the images if they are needed for rendering.
If the resource is not valid, a response is sent with the code 404 Not Found and the question "The image is not found."
This series of processes is called HTTP communication.
It allows you to create macros with just simple code.
It means a programming language that can be programmed to have a computer do repetitive tasks instead of your hands.
Of course, it is possible to do this in other programming languages, but it will not be as simple to implement as AutoHotkey.
--- 「Part 01.
From "Programming and AutoHotkey Basics"
The beauty of AutoHotkey is automation programming.
Automation programming refers to writing programs that allow computers to perform tasks that are performed by humans.
Unlike people, computers don't get tired and can perform repetitive tasks very quickly.
AutoHotkey is specialized for these automation tasks.
… (omitted)… A computer program that can do many tasks much faster than a human can certainly be a knife to some people, depending on who uses it.
You should be aware that by learning this technology, you will be gaining the ability to harm other people's IT services.
All computer programs must be created and used only in a way that does not cause harm to others.
--- 「Part 02.
From "Automation Programming"
Arrays and maps are data structures that can group related values together.
The term 'data structure' may still be difficult, but you can just think of it as 'a way to store values.'
As explained earlier, as the size of the program grows, the number of variables used becomes unmanageable.
In these situations, we can use objects to make things more structured, but it is a lot of work to design concrete classes for this.
Wouldn't it be great if there was a simple way to manage related values under a single name? That's why we use arrays or maps, which allow us to treat related values as a single variable.
--- 「Part 03.
From “Developing a Practical Program”
When our computer (let's call it a "client" for the sake of brevity) makes a request to the server for the HTML code of a specific URL address, the server responds accordingly.
If everything works correctly, it will return the HTML code of the requested page along with a response code of 200 OK.
The web browser on the client receives this and 'renders' it.
It means that the code is made pretty and displayed on the page we see.
The same goes for other resources on that page.
If there are three images on that page, the client will ask the server three times, "Give me this image!", and the server will send the images if they are needed for rendering.
If the resource is not valid, a response is sent with the code 404 Not Found and the question "The image is not found."
This series of processes is called HTTP communication.
--- 「Part 04.
From "Enter the World of Web Automation!"
From "Enter the World of Web Automation!"
Publisher's Review
With a friendly AutoHotkey daily instructor
AutoHotkey and programming aren't difficult!
It is easier and simpler than heavy and complicated Excel macros, but many people still don't know much about AutoHotkey.
I think one of the first places that people who are new to AutoHotkey visit is the 'Pnal's AutoHotkey Course' site.
He said that he started teaching courses on his website and wrote this book in the hopes that others would not have to go through the same frustration and trial and error he felt when he first learned AutoHotkey.
True to its commitment to creating accessible AutoHotkey tutorials, this book provides a balanced mix of theory, examples, and hands-on practice, making it ideal for anyone learning the fundamentals of AutoHotkey and programming.
Even if you are new to programming, you will be fine with this book.
It is designed to be followed from the basics, so even non-majors can easily learn AutoHotkey programming.
While solving various problems directly
The principles and structure of AutoHotkey are self-explanatory!
《It's Okay Even if It's Your First Time, AutoHotkey Programming》 is structured as a course based on the basic level so that even those who are new to programming can follow along without difficulty.
However, no matter how easy the content is, if you only read the theory, you may encounter unexpected difficulties during the actual program creation process.
By solving the programming problems, exercises, and practical problems provided at the end of each chapter and part, you will be able to gain a solid understanding of the principles and operating structure of programs without even realizing it.
Of course, how to program,
It even teaches you how to approach programming!
The author of this book, Jeong Gyu-seung (Pnal), said, “Computer programs that can perform many tasks much faster than humans can certainly be a sword to some people, depending on who uses them.
You should be aware that by learning this technology, you will be acquiring the ability to harm other people's IT services.
All computer programs must be created and used only in a way that does not cause harm to others.
Exploiting programming skills is probably one of the easiest ways to disrupt IT services developed by others.
And developers know the harm, so they often put minimal defenses in place for their services.
This book does not teach you how to disable or bypass these defenses.
It's a shame that while all programmers have the potential to harm others, these programming ethics are rarely mentioned in other programming courses.
“I believe that all educators should teach these programming ethics,” he said, emphasizing the ethical awareness of program users.
Just as the same tool can be a sword that helps people or a weapon that harms them depending on who uses it, so too can a program.
The author also repeatedly emphasizes that "responsible software development" can be achieved by avoiding creating programs that harm others through macros, web scraping, and web crawling, which are covered in this book.
Rather than simply teaching how to use the program, we emphasize the ethical awareness that users of the program must have, and through AutoHotkey, we have enabled people to gain convenience in their daily lives and work in a clean program world.
This book is divided into five parts.
Excluding Part 05, which provides answers and explanations, you will learn AutoHotkey programming through four parts, covering the following topics:
[Contents included in this book]
ㆍ In Part 01, we will learn the basic concepts of programming and follow the development environment using AutoHotkey.
You'll also get a taste of the 'very basics' of AutoHotkey, which will be used throughout the rest of the book.
We've dedicated a single part to installing and getting started with AutoHotkey, so even beginners can follow along without any burden.
ㆍ In Part 02, you can learn how to create simple automation programming, or ‘macros’.
It can control the keyboard and mouse, recognize images displayed on the monitor, and even make you click on specific parts of a program without moving the mouse pointer on the screen.
You can freely create everything from simple repetitive macros to intermediate tasks.
ㆍ In Part 03, you will learn several new concepts to create cleaner programs.
Allows you to reposition and resize windows, and create or delete files.
You will also create your own 'program window' that you can actually use.
Of course, you can also place buttons or input fields there to make them fully functional! This guide covers how to create common programs, what we call "applications," rather than simple "macros."
ㆍ In Part 04, you will learn web automation.
You can click a specific button on a web page, enter text into an input field, or retrieve data.
For example, you could create a program that downloads all images on a specific page.
You could also create a program that automatically publishes articles.
Includes web automation methods to efficiently manage daily life and work.
AutoHotkey and programming aren't difficult!
It is easier and simpler than heavy and complicated Excel macros, but many people still don't know much about AutoHotkey.
I think one of the first places that people who are new to AutoHotkey visit is the 'Pnal's AutoHotkey Course' site.
He said that he started teaching courses on his website and wrote this book in the hopes that others would not have to go through the same frustration and trial and error he felt when he first learned AutoHotkey.
True to its commitment to creating accessible AutoHotkey tutorials, this book provides a balanced mix of theory, examples, and hands-on practice, making it ideal for anyone learning the fundamentals of AutoHotkey and programming.
Even if you are new to programming, you will be fine with this book.
It is designed to be followed from the basics, so even non-majors can easily learn AutoHotkey programming.
While solving various problems directly
The principles and structure of AutoHotkey are self-explanatory!
《It's Okay Even if It's Your First Time, AutoHotkey Programming》 is structured as a course based on the basic level so that even those who are new to programming can follow along without difficulty.
However, no matter how easy the content is, if you only read the theory, you may encounter unexpected difficulties during the actual program creation process.
By solving the programming problems, exercises, and practical problems provided at the end of each chapter and part, you will be able to gain a solid understanding of the principles and operating structure of programs without even realizing it.
Of course, how to program,
It even teaches you how to approach programming!
The author of this book, Jeong Gyu-seung (Pnal), said, “Computer programs that can perform many tasks much faster than humans can certainly be a sword to some people, depending on who uses them.
You should be aware that by learning this technology, you will be acquiring the ability to harm other people's IT services.
All computer programs must be created and used only in a way that does not cause harm to others.
Exploiting programming skills is probably one of the easiest ways to disrupt IT services developed by others.
And developers know the harm, so they often put minimal defenses in place for their services.
This book does not teach you how to disable or bypass these defenses.
It's a shame that while all programmers have the potential to harm others, these programming ethics are rarely mentioned in other programming courses.
“I believe that all educators should teach these programming ethics,” he said, emphasizing the ethical awareness of program users.
Just as the same tool can be a sword that helps people or a weapon that harms them depending on who uses it, so too can a program.
The author also repeatedly emphasizes that "responsible software development" can be achieved by avoiding creating programs that harm others through macros, web scraping, and web crawling, which are covered in this book.
Rather than simply teaching how to use the program, we emphasize the ethical awareness that users of the program must have, and through AutoHotkey, we have enabled people to gain convenience in their daily lives and work in a clean program world.
This book is divided into five parts.
Excluding Part 05, which provides answers and explanations, you will learn AutoHotkey programming through four parts, covering the following topics:
[Contents included in this book]
ㆍ In Part 01, we will learn the basic concepts of programming and follow the development environment using AutoHotkey.
You'll also get a taste of the 'very basics' of AutoHotkey, which will be used throughout the rest of the book.
We've dedicated a single part to installing and getting started with AutoHotkey, so even beginners can follow along without any burden.
ㆍ In Part 02, you can learn how to create simple automation programming, or ‘macros’.
It can control the keyboard and mouse, recognize images displayed on the monitor, and even make you click on specific parts of a program without moving the mouse pointer on the screen.
You can freely create everything from simple repetitive macros to intermediate tasks.
ㆍ In Part 03, you will learn several new concepts to create cleaner programs.
Allows you to reposition and resize windows, and create or delete files.
You will also create your own 'program window' that you can actually use.
Of course, you can also place buttons or input fields there to make them fully functional! This guide covers how to create common programs, what we call "applications," rather than simple "macros."
ㆍ In Part 04, you will learn web automation.
You can click a specific button on a web page, enter text into an input field, or retrieve data.
For example, you could create a program that downloads all images on a specific page.
You could also create a program that automatically publishes articles.
Includes web automation methods to efficiently manage daily life and work.
GOODS SPECIFICS
- Date of issue: February 25, 2025
- Page count, weight, size: 456 pages | 1,138g | 188*257*26mm
- ISBN13: 9788960884762
- ISBN10: 8960884766
You may also like
카테고리
korean
korean