jQuery

Buy Us a Coffee


Facebook Messenger (Donation)

Many donors of this blog prefer to donate their money through Facebook Messenger!

Click here to go to this blog's Facebook Page!

Thank you!

Advertise On This Blog!

If you want a Product\Service\Event to be advertised on this blog, feel free to contact us!

Warning!!!

If you are a Newcomer and want to write Real Programs, please STAY AWAY from this POOR and BAD DESIGNED "Program Language" (it's an Automation Tool in fact)!!!

This Automation Tool is maintained by LAZY, STUPID and DUMBASSES PEOPLE who try to deceive you that AutoHotkey is a very Powerful Program Language, but believe me, it isn't!!!

No Enterprise takes AutoHotKey seriously, because they know how poor it is and because they know what kind of people are behind it!

If you need an Automation Tool, you can at least give it a try!!! If you need a Program Language, STAY AWAY FROM IT AS SOON AS POSSIBLE!!!

Thanks for your Attention!!!

Monday, December 2, 2019

Auto Command - Detect any key and Mouse Movement


Download v1.0 (Include Script and ".exe" file):
http://www.mediafire.com/file/ncshx3lpofgcrc7/Auto_Command_%2528v1.0%2529_-_Detect_any_key_and_Mouse_Movement.rar/file

Auto Command v1.1 - Remap Mouse Movement (No Loop)
xm - How many pixels mouse moved right(+) or Left(-)
ym - How many pixels mouse moved Up(+) or down(-)
xsc - x pos from screen center _ Right(+)\Left(-)
ysc - y pos from screen center _ Up(+)\Down(-)


v1.1:





Keywords:
AutoHotKey - Detect any key and Mouse Movement
Detect Mouse Movement

Monday, November 11, 2019

Completely Remove a variable content from Ram!



Some functions may use "StrPut()" function to put plain text strings in Ram in order to be used with "DllCall()" function!

The problem is, you may not want the plain text strings to remain in Ram after the functions return!

If you use something like, Data := "", or, VarSetCapacity(Data, 0), or even, VarSetCapacity(Data, 0, 0), the "Data" variable is released but its content that contains plain text strings are still stored in Ram!

When a variable is released, it means that its content remains in Ram, but it can be overwritten by other contents!

So, before releasing a variable, make sure to overwrite all its content with "0" bytes, then release it! Doing so, all the plain text strings in Ram are overwritten with 0 bytes as well!

Example below:

VarSetCapacity(Data, , 0)        ;overwrite all the content from "Data" variable with 0 bytes!

Note that, the "RequestedCapacity" parameter is omitted in "VarSetCapacity()" function, so the current capacity of "Data" variable will be used! (Assuring that all its current capacity is overwritten with 0 bytes!)

Then you can use, Data := "", or, VarSetCapacity(Data, 0), to release "Data" variable in order to allow all its 0 bytes content to be overwritten with other contents! 




Keywords:
Completely Remove a variable data from Ram!
Completely Remove a variable value from Ram!
Completely Remove a variable content from Ram!

Wednesday, August 21, 2019

ExitApp vs ProcessClose









Keywords:
ExitApp Alternative
ExitApp vs ProcessClose
ExitApp vs Process Close

Friday, April 5, 2019

On_Mouse_Move(Function) - Mouse Move HotKey Alternative


v1.0:










Keywords:
AHK Mouse Move HotKey Alternative
AHK MouseMove HotKey Alternative
AHK On Mouse Move
AHK OnMouseMove
AutoHotKey On Mouse Move
AutoHotKey OnMouseMove
AutoHotkey Mouse Move HotKey Alternative
AutoHotkey MouseMove HotKey Alternative

Monday, April 1, 2019

UnicodeCrypter(Function) - Encrypt and Decrypt Any Unicode Character from 1 to 1114111



Encrypt and Decrypt Any Unicode Character from 1 to 1114111!

Download v1.0:
http://www.mediafire.com/file/rn99lw6eae6wj6v/UnicodeCrypter%2528Function%2529_-_v1.0.rar/file





keywords:
Unicode Crypter AHK
Unicode Crypter AutoHotkey
Unicode Crypt AHK
Unicode Crypt AutoHotkey
Unicode Encrypt AHK
Unicode Encrypt AutoHotkey
Unicode Decrypt AHK
Unicode Decrypt AutoHotkey
UnicodeCrypter(Function) - Encrypt and Decrypt Any Unicode Character from 1 to 1114111 (AutoHotKey)

Friday, March 29, 2019

Pre-Editor - Write Code Dynamically



Basically, set windows to always run ".ahkpe" extension files with "Pre-Editor.exe"

- Example, run "Test.ahkpe"

- "Pre-Editor.exe" will automatically pre-edit script from "Test.ahkpe" file

- "Pre-Editor.exe" will store the pre-edited script in "Test.ahkpe.ahk" file! (in the same directory of "Test.ahkpe")

- "Pre-Editor.exe" then executes "Test.ahkpe.ahk", and exit!

- "Test.ahkpe.ahk" itself will delete "Test.ahkpe.ahk" file


Download v1.1 - Includes "Pre_Edit_Script(Function) v1.3":
http://www.mediafire.com/file/mpgj4ie7cgx8783/Pre-Editor_v1.1_-_Function_v1.3.rar/file






Keywords:
AHK Pre-Editor - Write Code Dynamically
AutoHotKey Pre-Editor - Write Code Dynamically

Thursday, March 28, 2019

Simple Object o(Function) - String Object


Basic Infos:

Write\Read string objects from "Simple Object o(Function)" to\from files can be easily done!

"InsertAt()\RemoveAt()" can be used with "Associative Arrays"!

For example:

- "InsertAt(Col_2)" would automatically make the previous "Col_2" the new "Col_3", the previous "Col_3" the new "Col_4", and so on ...!

- "RemoveAt(Col_2)" would automatically make "Col_3" the new "Col_2", "Col_4" the new "Col_3", and so on ...!

String objects from "SimpleObject o(Function)" are made of "Sections" and each section contains a set of "Key\value" pairs!
____

Download v1.4 (Includes Example script from the video and other examples):
http://www.mediafire.com/file/u3bfpc3n2p3xn6q/SimpleObject_o%2528Function%2529_-_v1.4.rar/file


___ v1.4 ___ :

 for "Key" parameter: ___

<=Sx            ;get the nth Section name from an "o()" function object (<=S1 First, <=S2 second, and so on ...!)

<=Cx            ;get the nth Section Content from an "o()" function object (<=C1 First, <=C2 second, and so on ...!)

<=CountSections        ;count sections that an "o()" function object contains

for "Task" parameter: ___

CheckKey        ;check if key exist

CheckSection        ;check if section exist

DelKey            ;delete keys from sections

___ v1.3 ___ :

Inside "UpdateSectionIndex", the line, if (IndexFound = 0), was replaced with, if RegExMatch(IndexFound, "^0")

Any section that ends by 0 or by an integer number that contains leading zero\s will be ignored while Updating section index!

___ v1.2 ___ :

AHK For-Loop equivalent implemented by using the new options below:

for "Key" parameter: ___

<=Get        ;get values from "o()" function static vars (Mainly for "FindAnyKey" var)

Kx=>        ;get the nth key of a section (K1=> First, K2=> second, and so on ...!)

Vx=>        ;get the nth value of a section (v1=> First, v2=> second, and so on ...!)

GetIndex=>    ;get index of a specified section

for "Task" parameter: ___

GetSectionIndex        ;get index of a specified section

___ v1.1 ___ :

for "Key" parameter: ___

=>    ;Add\Modify multiple keys (if section does not exist, it will be created)

+=>    ;Create new section at specified index and Add multiple keys (the previous section index number will be increased, and so on)

-=>    ;Delete content of the specified section and then add multiple keys!

Get=>    ;get content of the specified section

for "Task" parameter: ___

GetSection        ;get section content

DelSectionContent    ;delete section content






Keywords:
AHK String Object
AutoHotKey String Object
Simple Object o(Function) - String Object (AutoHotKey)

Tuesday, March 26, 2019

LV_AddEditRow(Function) - Add or Edit ListView Control Rows



There are currently two versions, the v1 and v2!

v1 uses AHK built-in Object!

v2 uses "SimpleObject o(Function)"!

v2 is recommended over v1 because write\read objects from "SimpleObject o(Function)" to\from files can be easily done!

"SimpleObject o(Function)" allows "InsertAt()\RemoveAt()" to be used with "Associative Arrays"!

For example:

- "InsertAt(Col_2)" would automatically make the previous "Col_2" the new "Col_3", the previous "Col_3" the new "Col_4", and so on ...!

- "RemoveAt(Col_2)" would automatically make "Col_3" the new "Col_2", "Col_4" the new "Col_3", and so on ...!

Another Big Advantage is that objects from "SimpleObject o(Function)" are made of "Sections" and each section contains a set of "Key\value" pairs!

Download (v2.0 and v1.1):
http://www.mediafire.com/file/e5lz8hmihjalbk8/LV_AddEditRow_%2528Function%2529_-_v2.0_and_v1.1.rar/file





Keywords:
LV_AddEditRow(Function) - Add or Edit ListView Control Rows (AutoHotKey)

Wednesday, March 20, 2019

Get_Milliseconds (Function)


v1.0:
http://www.mediafire.com/file/zrebsxtpgczbc32/Get_Milliseconds%2528Function%2529_-_v1.0.rar/file





Keywords:
Get_Milliseconds(Function)
Get_Milliseconds Function
Convert Milliseconds to year day hour minute second

Monday, March 18, 2019

Gui_Please_Wait (Function)



v1.0:
http://www.mediafire.com/file/42geju75id3u33s/Gui_Please_Wait%2528Function%2529_-_v1.0.rar/file






Keywords:
Gui_Please_Wait(Function)
Gui_Please_Wait(AHK)
Gui_Please_Wait (AutoHotKey)

Gui Please Wait Function
Gui Please Wait AHK
Gui Please Wait AutoHotKey

Friday, March 15, 2019

Execute After Typing









Keywords:
Execute After Typing (AHK)
Execute After Typing (AutoHotKey)

ScriptGet (Function)

Never, Never and Never declare "Global" variables! (Especially when writing "Functions" or "Classes"!)

Use "ScriptGet()" function instead that allows others Functions\Classes to get values of Local Variables from the Main Script!

"ScriptGet()" can only "Read" Local variables from Main Script! ("Global" variables allows "Read" and "Write" in which causes a lot of problems!)


v1.0:
http://www.mediafire.com/file/ybwh1o01lu6j1tk/ScriptGet%2528Function%2529_-_v1.0.rar/file
 




keywords
ScriptGet (Function)