tag:blogger.com,1999:blog-35139506161214287582024-02-06T18:28:16.447-08:00AutoHotKeyUnknownnoreply@blogger.comBlogger46125tag:blogger.com,1999:blog-3513950616121428758.post-37625654270490560182021-12-16T19:46:00.010-08:002021-12-16T21:48:59.513-08:00[AutoHotKey] Programmatically Call "Print Preview" For ActiveX Control!<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjmh22ryPfWR5bPYu7DHrAZF3ZqhhCb6abk6wB8JGK9DGd50tx3kQASQY1mhrnSijtnXVxki4bKAobLys69xtlonS54iRs9ZsDkZmNUhY74FIurV-UzXLXPEFZNMtOUuqJQsXT6I20qBKrxgIvB9NwL8eFmUDQ9eo55OCRRTbiFsNvPleLwnoyyOg=s809" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="447" data-original-width="809" src="https://blogger.googleusercontent.com/img/a/AVvXsEjmh22ryPfWR5bPYu7DHrAZF3ZqhhCb6abk6wB8JGK9DGd50tx3kQASQY1mhrnSijtnXVxki4bKAobLys69xtlonS54iRs9ZsDkZmNUhY74FIurV-UzXLXPEFZNMtOUuqJQsXT6I20qBKrxgIvB9NwL8eFmUDQ9eo55OCRRTbiFsNvPleLwnoyyOg=s16000" width="100%" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjy62egyOoW3CsArh7Wd9RzcC7DWNco05zFBM3g_LALuurJZwrzNfS2ovcO2CX6-72Mrtkpk-73fGPNwkkq7nyDswV-UmfPjfUau-F7xH13NVZMMbqHYVYr_CcsTl_WVkW3Thd77GeM9mcoWosFFxugUth5hCPE6ku2j6MvTrA3PzZrrgDJD6m4AA=s464" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="419" data-original-width="464" height="50" src="https://blogger.googleusercontent.com/img/a/AVvXsEjy62egyOoW3CsArh7Wd9RzcC7DWNco05zFBM3g_LALuurJZwrzNfS2ovcO2CX6-72Mrtkpk-73fGPNwkkq7nyDswV-UmfPjfUau-F7xH13NVZMMbqHYVYr_CcsTl_WVkW3Thd77GeM9mcoWosFFxugUth5hCPE6ku2j6MvTrA3PzZrrgDJD6m4AA=w200-h181" width="50" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="300" src="https://www.youtube.com/embed/L3xTeko_MNo" width="100%" youtube-src-id="L3xTeko_MNo"></iframe></div>
<br />
Download script:
<br />
<a href="https://www.mediafire.com/file/y605zdkfsfhjakx/%255BAHK%255D_ActiveX_Print_Preview.rar/file" target="_blank">https://www.mediafire.com/file/y605zdkfsfhjakx/%255BAHK%255D_ActiveX_Print_Preview.rar/file</a>
<br /><br /><br /><br />
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-31443727477864266852021-12-07T15:50:00.006-08:002021-12-07T16:09:43.725-08:00[AutoHotKey] Focus Edit Control With All Text Selected!<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgwjF5fA8jgQwmR8LQeX3zE3hjqGUdrX7YSq2S2GWdOJSvE2h31QGXHA47T5S_YBzWbfeWT7-tFKMwjAfcm8759HjL5xQThwB9rDlmpBgLk06lxKYzY4hINXB4JXFBDWkcYSdSog5vd3504EFmIuNxhX-eB4RJSKHIW3ZADwZULtT2I2_xg28pFaw=s421" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="421" src="https://blogger.googleusercontent.com/img/a/AVvXsEgwjF5fA8jgQwmR8LQeX3zE3hjqGUdrX7YSq2S2GWdOJSvE2h31QGXHA47T5S_YBzWbfeWT7-tFKMwjAfcm8759HjL5xQThwB9rDlmpBgLk06lxKYzY4hINXB4JXFBDWkcYSdSog5vd3504EFmIuNxhX-eB4RJSKHIW3ZADwZULtT2I2_xg28pFaw=s16000" /></a></div>
<br />
<textarea readonly="" rows="25" style="width: 100%;" wrap="off">
gui, +HwndGui_Win_ID
gui, add, edit, w395 +HwndEdit_1_Ctrl_ID, Edit 1
gui, add, edit, w395 +HwndEdit_2_Ctrl_ID, Edit 2
gui, add, edit, w395 r4 +HwndEdit_3_Ctrl_ID, Focus Edit contol with all text selected! `r`n...`r`nEnd!
gui, add, button, +default gTest, Test
Test(){ ;______________________
msgbox, Test
}
Gui, Show
;guicontrol, focus, % Edit_3_Ctrl_ID ;focus edit control with no text selected
;ControlFocus, , % "ahk_id" Edit_3_Ctrl_ID ;focus edit control with no text selected
SendMessage, 0x0028, % Edit_3_Ctrl_ID, 1, , % "ahk_id" Gui_Win_ID ;focus edit control with all text selected
;send {tab}{tab} ;Works as well!
Return
GuiClose(){ ;_________________________________
ExitApp
}
</textarea>
<br /><br /><br /><br />
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-57583168514187318592021-12-06T14:51:00.007-08:002021-12-06T15:23:46.498-08:00[AutoHotKey] Focus A Button Different Than The Default Button!<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFnbw1zqllMsWIl_uCIP4KYZJAOcHo7BAe2vhUMl0NqW9nOH_-pUj2MfW96wrl_73-lmAAUcmEYpi57dloNr6ykrEoB21M5R9d00pt-zR9yR3zqAdugccAMNP_t29S4phbb4qBdQ1o/s449/Focus+A+Button+Different+Than+The+Default+Button.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="261" data-original-width="449" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFnbw1zqllMsWIl_uCIP4KYZJAOcHo7BAe2vhUMl0NqW9nOH_-pUj2MfW96wrl_73-lmAAUcmEYpi57dloNr6ykrEoB21M5R9d00pt-zR9yR3zqAdugccAMNP_t29S4phbb4qBdQ1o/s16000/Focus+A+Button+Different+Than+The+Default+Button.png" /></a></div>
<br>
<textarea readonly="" rows="25" style="width: 100%;" wrap="off">
;https://www.autohotkey.com/boards/viewtopic.php?t=48287
Gui, +HwndHGUI
gui, add, edit, w395,
gui, add, edit, w395 r4,
Gui, Add, Button, w395 hwndHBTNA gPushA +Default, Button A
Gui, Add, Button, w395 hwndHBTNB gPushB, Button B
Gui, Add, Button, w395 hwndHBTNC gPushC, Button C
Gui, Show
;guicontrol, focus, % HBTNB ;works with "Space" but not with "Enter"
;ControlFocus, , % "ahk_id" HBTNB ;works with "Space" but not with "Enter"
;ControlFocus, % HBTNB, % "ahk_id" HGUI ;does not work
;____
SendMessage, 0x0028, % HBTNB, 1, , % "ahk_id" HGUI ;works with "space" and "Enter"
;SendMessage, 0x0028, % HBTNC, 1, , % "ahk_id" HGUI ;works with "space" and "Enter"
;____
;SendMessage, 0x0028, , 1, , % "ahk_id" HBTNB ;does not work
;SendMessage, 0x0028, % HBTNB, 1, , % "ahk_id" HBTNB ;does not work
Return
PushA: ;____________________________________
msgbox, aaaaaaaaa
Return
PushB: ;____________________________________
msgbox, bbbbbbbbb
Return
PushC: ;____________________________________
msgbox, ccccccccc
Return
GuiClose(){ ;_________________________________
ExitApp
}
</textarea>
<br><br><br><br>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-89974862325874169992021-11-16T14:23:00.007-08:002021-11-16T14:49:12.509-08:00[AutoHotKey] Show "Date + Time" In "DateTime" Control With The Correct Local Hour Format!<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWpklpOrObUtKMmaBerHR139rlYKQx9WM9rH5T6CpNaOFqod6h88a4lbd6-ihqOCIx0Vf2vBgyoVBt2IcLPDW0mxKFJmR_QVzVE2X8JYA7MQtdUQfBte5ioPS0S7xvGjAQ619SNx7C/s300/Get+Time+Format+%2528UK-USA%2529.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWpklpOrObUtKMmaBerHR139rlYKQx9WM9rH5T6CpNaOFqod6h88a4lbd6-ihqOCIx0Vf2vBgyoVBt2IcLPDW0mxKFJmR_QVzVE2X8JYA7MQtdUQfBte5ioPS0S7xvGjAQ619SNx7C/s16000/Get+Time+Format+%2528UK-USA%2529.png" /></a></div>
<br />
<textarea readonly="" rows="25" style="width: 100%;" wrap="off">
;h or hh = 12 hour format
;H or HH = 24 hour format
RegRead, Temp_sTimeFormat, HKEY_CURRENT_USER\Control Panel\International, sTimeFormat
if RegExMatch(Temp_sTimeFormat, "h"){
Hour_Format := "hh"
Time_Marker := "tt"
}else{
Hour_Format := "HH"
Time_Marker := ""
}
gui, add, edit, , % Temp_sTimeFormat
gui, add, DateTime, , % "dddd, d MMMM yyyy, " Hour_Format ":mm " Time_Marker
gui, add, DateTime, Choose19890504223023, % "dddd, d MMMM yyyy, " Hour_Format ":mm " Time_Marker
gui, show
return
guiclose(){ ;_____________________________________
exitapp
}
</textarea>
<br /><br /><br /><br />
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-87002847058460917822021-08-02T16:25:00.015-07:002021-08-02T17:17:41.860-07:00[AutoHotKey] Force ActiveX Control to Use The Highest Internet Explorer Mode!<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMEWRq4XtC-_VD3c-QO4pEo5TNioglN5ADf018PTUMrZGiaXWKCe9TlHMa3DaaAGjnxejtmlrKX6TcQs4SaPfq-k64XU4lw9u3iGZ_ylr-DV5BIdveshL-8CKm2eOfp6wf5QSrEF4a/s626/AHK+ActiveX+Highest+IE+Mode.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="439" data-original-width="626" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMEWRq4XtC-_VD3c-QO4pEo5TNioglN5ADf018PTUMrZGiaXWKCe9TlHMa3DaaAGjnxejtmlrKX6TcQs4SaPfq-k64XU4lw9u3iGZ_ylr-DV5BIdveshL-8CKm2eOfp6wf5QSrEF4a/s16000/AHK+ActiveX+Highest+IE+Mode.png" width="500" /></a></div>
<br>
<textarea id="FAXCHIEM_TA1_02082021" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/ActiveX%20Highest%20IE%20Mode.ahk', function(data) {
$('#FAXCHIEM_TA1_02082021').val(data);
});
</script>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-9322199921241567832020-05-27T08:50:00.001-07:002020-05-27T09:21:44.035-07:00EXE_Path() Function for Compiled Scripts!<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYcQivuGzV4WsnZUTVrgfAA8p62xiH-6iMuGsxmG5W4fwxvQHxRzSaoiGgcROOVmQWQCci7VjhXsoEEXt9esPrhtTelD2NVN-yHxNcEouBCcBMXDN1gqTAd5eefz-xLVGhfQXWBe2Y/s1600/EXE_Path%2528Function%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="279" data-original-width="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYcQivuGzV4WsnZUTVrgfAA8p62xiH-6iMuGsxmG5W4fwxvQHxRzSaoiGgcROOVmQWQCci7VjhXsoEEXt9esPrhtTelD2NVN-yHxNcEouBCcBMXDN1gqTAd5eefz-xLVGhfQXWBe2Y/s1600/EXE_Path%2528Function%2529.png" /></a></div>
<br />
v1.0:<br />
<textarea id="EPFfCS_TA1_27052020" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/EXE_Path(Function)%20-%20v1.0.ahk', function(data) {
$('#EPFfCS_TA1_27052020').val(data);
});
</script>
<br />
<br />
<br />
Keywords:<br />
EXE_Path() Function for Compiled Scripts!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-54752962243872551082019-12-02T16:51:00.001-08:002019-12-09T06:50:59.130-08:00Auto Command - Detect any key and Mouse Movement<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwjygEzF989kFZOeSlltXeIvq5yym9gm0LUCHP7yBgNaTk4pxnlRT9Avj-Rzf6Gp2BE3cOEr654lsg4EqCiDDT_kWZ7X_qlbwo57Xa8OSCPbSp_LnI7bwBVtG-l-g6wNnygNnI8eDr/s1600/Auto+Command+-+Detect+any+key+and+Mouse+Movement.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="726" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwjygEzF989kFZOeSlltXeIvq5yym9gm0LUCHP7yBgNaTk4pxnlRT9Avj-Rzf6Gp2BE3cOEr654lsg4EqCiDDT_kWZ7X_qlbwo57Xa8OSCPbSp_LnI7bwBVtG-l-g6wNnygNnI8eDr/s400/Auto+Command+-+Detect+any+key+and+Mouse+Movement.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1WRkjmHvJOudSxNbLFnyKeQnNXXG1aRmsQQ8o5PSlMOYp5hyphenhyphen5XCakCdUMLCL9RrCPLIswjT8AUNVe5KYDKxx-DEqZUlsk-mmFc4oTVBMIiIA5-AXuUFdsTK1dihEBJTDT1VcLUKpG/s1600/Auto+Command+-+Detect+any+key+and+Mouse+Movement.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="452" data-original-width="676" height="50" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1WRkjmHvJOudSxNbLFnyKeQnNXXG1aRmsQQ8o5PSlMOYp5hyphenhyphen5XCakCdUMLCL9RrCPLIswjT8AUNVe5KYDKxx-DEqZUlsk-mmFc4oTVBMIiIA5-AXuUFdsTK1dihEBJTDT1VcLUKpG/s200/Auto+Command+-+Detect+any+key+and+Mouse+Movement.png" width="50" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/8H08W55WjVs/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/8H08W55WjVs?feature=player_embedded" width="100%"></iframe></div>
<br />
Download v1.0 (Include Script and ".exe" file):<br />
<a href="http://www.mediafire.com/file/ncshx3lpofgcrc7/Auto_Command_%2528v1.0%2529_-_Detect_any_key_and_Mouse_Movement.rar/file" target="_blank">http://www.mediafire.com/file/ncshx3lpofgcrc7/Auto_Command_%2528v1.0%2529_-_Detect_any_key_and_Mouse_Movement.rar/file</a><br />
<br />
Auto Command v1.1 - Remap Mouse Movement (No Loop)<br />
xm - How many pixels mouse moved right(+) or Left(-)<br /> ym - How many pixels mouse moved Up(+) or down(-)<br /> xsc - x pos from screen center _ Right(+)\Left(-)<span class="text_exposed_show"><br /> ysc - y pos from screen center _ Up(+)\Down(-)</span><br />
<br />
v1.1:<br />
<textarea id="ACDAKMM_TA1_03122019" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/Auto%20Command(Function)%20-%20v1.1%20-%20Detect%20any%20key%20and%20Mouse%20Movement.ahk', function(data) {
$('#ACDAKMM_TA1_03122019').val(data);
});
</script>
<br />
<br />
<br />
<br />
<br />
Keywords:<br />
AutoHotKey - Detect any key and Mouse Movement<br />
Detect Mouse MovementUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-72224075945004868622019-11-11T17:13:00.002-08:002019-11-11T18:12:08.963-08:00Completely Remove a variable content from Ram!<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0GS3K786-VSCNhjPdtlkecgVXHsmUrYMbwLDcB4Xi4QDskp-61-cGQXjp_zTSdZPxhzwgld3Qdc1ns82Pu5niuO5FcyPYrGwiPVt39pGsGYk-pmZRr95QA9nru7S68acoCIdpMVmu/s1600/Completely+Remove+a+variable+content+from+Ram.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="200" data-original-width="441" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0GS3K786-VSCNhjPdtlkecgVXHsmUrYMbwLDcB4Xi4QDskp-61-cGQXjp_zTSdZPxhzwgld3Qdc1ns82Pu5niuO5FcyPYrGwiPVt39pGsGYk-pmZRr95QA9nru7S68acoCIdpMVmu/s1600/Completely+Remove+a+variable+content+from+Ram.png" /></a></div>
<br />
Some functions may use "StrPut()" function to put plain text strings in Ram in order to be used with "DllCall()" function!<br />
<br />
The problem is, you may not want the plain text strings to remain in Ram after the functions return!<br />
<br />
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!<br />
<br />
When a variable is released, it means that its content remains in Ram, but it can be overwritten by other contents!<br />
<br />
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!<br />
<br />
Example below:<br />
<br />
VarSetCapacity(Data, , 0) ;overwrite all the content from "Data" variable with 0 bytes!<br />
<br />
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!)<br />
<br />
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! <br />
<br />
<br />
<br />
<br />
Keywords:<br />
Completely Remove a variable data from Ram!<br />
Completely Remove a variable value from Ram!<br />
Completely Remove a variable content from Ram!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-55813675935932358492019-08-21T20:27:00.001-07:002019-08-21T20:33:04.867-07:00ExitApp vs ProcessClose<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXJOWbK6Aq_ZuXsPoSat4DV7fgX2VLIu4EUhadJJ41UZDCGUViPKqJCYE0BcOYBXOKRVIFiFZ1YjydYs_jzb4sOxe3yTVSgKUiX67PXx5L1tX_T5KYsc3b71sXyr9YKfg5kQ_rXoZX/s1600/ExitApp+vs+ProcessClose.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="137" data-original-width="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXJOWbK6Aq_ZuXsPoSat4DV7fgX2VLIu4EUhadJJ41UZDCGUViPKqJCYE0BcOYBXOKRVIFiFZ1YjydYs_jzb4sOxe3yTVSgKUiX67PXx5L1tX_T5KYsc3b71sXyr9YKfg5kQ_rXoZX/s1600/ExitApp+vs+ProcessClose.png" /></a></div>
<br />
<textarea readonly="" rows="25" style="width: 100%;" wrap="off">
OnExit("Ignore_ExitApp")
gui, add, button, gGuiclose, Exitapp
gui, add, button, gProcess_Close, Process Close
gui, add, text, ,
(join`r`n
- Only "Process Close" can exit this application!
- "ExitApp", Win "Close Button", tray icon "Exit" button can't exit application!
)
gui, show
return
guiclose: ;________________________________
Exitapp
return
Ignore_ExitApp() ;________________________________
{
return, 1 ;because this function returns a non-zero value, "ExitApp" can't exit the application!
}
Process_Close() ;________________________________
{
Menu, Tray, NoIcon ;hide the script tray icon before closing the script process
Process, Close , % DllCall("GetCurrentProcessId") ;close the script process!
}
</textarea><br />
<br />
<br />
<br />
<br />
<br />
Keywords:<br />
ExitApp Alternative <br />
ExitApp vs ProcessClose<br />
ExitApp vs Process CloseUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-39878518534631516712019-04-05T15:14:00.002-07:002019-04-06T07:13:25.816-07:00On_Mouse_Move(Function) - Mouse Move HotKey Alternative<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/dgw_TJM_NOc/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/dgw_TJM_NOc?feature=player_embedded" width="100%"></iframe></div>
<br />
v1.0:<br />
<br />
<textarea id="OMMF_TA1_06042019" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/On_Mouse_Move(Function)%20-%20v1.0.ahk', function(data) {
$('#OMMF_TA1_06042019').val(data);
});
</script>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Keywords:<br />
AHK Mouse Move HotKey Alternative<br />
AHK MouseMove HotKey Alternative<br />
AHK On Mouse Move<br />AHK OnMouseMove<br />AutoHotKey On Mouse Move<br />AutoHotKey OnMouseMove <br />
AutoHotkey Mouse Move HotKey Alternative<br />
AutoHotkey MouseMove HotKey Alternative<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-2970887715085880102019-04-01T09:31:00.002-07:002019-04-01T10:49:49.316-07:00UnicodeCrypter(Function) - Encrypt and Decrypt Any Unicode Character from 1 to 1114111<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/JNO8Qoqb9-Q/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/JNO8Qoqb9-Q?feature=player_embedded" width="100%"></iframe></div>
<br />
<br />
Encrypt and Decrypt Any Unicode Character from 1 to 1114111!<br />
<br />
Download v1.0:<br />
<a href="http://www.mediafire.com/file/rn99lw6eae6wj6v/UnicodeCrypter%2528Function%2529_-_v1.0.rar/file" target="_blank">http://www.mediafire.com/file/rn99lw6eae6wj6v/UnicodeCrypter%2528Function%2529_-_v1.0.rar/file</a><br />
<br />
<br />
<br />
<br />
<br />
keywords:<br />Unicode Crypter AHK<br />Unicode Crypter AutoHotkey<br />Unicode Crypt AHK<br />Unicode Crypt AutoHotkey<br />Unicode Encrypt AHK<br />Unicode Encrypt AutoHotkey<br />Unicode Decrypt AHK<br />Unicode Decrypt AutoHotkey<br />UnicodeCrypter(Function) - Encrypt and Decrypt Any Unicode Character from 1 to 1114111 (AutoHotKey)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-38385929364554508182019-03-29T18:26:00.000-07:002019-03-29T19:37:25.638-07:00Pre-Editor - Write Code Dynamically<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/LhzbgNRphcc/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/LhzbgNRphcc?feature=player_embedded" width="100%"></iframe></div>
<br />
<br />
Basically, set windows to always run ".ahkpe" extension files with "Pre-Editor.exe"<br /><br />- Example, run "Test.ahkpe"<br /><br />- "Pre-Editor.exe" will automatically pre-edit script from "Test.ahkpe" file<br /><br />- "Pre-Editor.exe" will store the pre-edited script in "Test.ahkpe.ahk" file! (in the same directory of "Test.ahkpe")<br /><br />- "Pre-Editor.exe" then executes "Test.ahkpe.ahk", and exit!<br /><br />- "Test.ahkpe.ahk" itself will delete "Test.ahkpe.ahk" file<br />
<br />
<br />
Download v1.1 - Includes "Pre_Edit_Script(Function) v1.3":<br />
<a href="http://www.mediafire.com/file/mpgj4ie7cgx8783/Pre-Editor_v1.1_-_Function_v1.3.rar/file" target="_blank">http://www.mediafire.com/file/mpgj4ie7cgx8783/Pre-Editor_v1.1_-_Function_v1.3.rar/file</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
Keywords:<br />
AHK Pre-Editor - Write Code Dynamically<br />
AutoHotKey Pre-Editor - Write Code DynamicallyUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-90297756947110058282019-03-28T14:42:00.002-07:002019-03-28T17:37:51.500-07:00Simple Object o(Function) - String Object<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/9Bzl005aZL0/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/9Bzl005aZL0?feature=player_embedded" width="100%"></iframe></div>
<br />
Basic Infos:<br />
<br />
Write\Read string objects from "Simple Object o(Function)" to\from files can be easily done!<br />
<br />
"InsertAt()\RemoveAt()" can be used with "Associative Arrays"!<br />
<br />
For example:<br />
<br />
- "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 ...!<br />
<br />
- "RemoveAt(Col_2)" would automatically make "Col_3" the new "Col_2", "Col_4" the new "Col_3", and so on ...!<br />
<br />
String objects from "SimpleObject o(Function)"
are made of "Sections" and each section contains a set of "Key\value"
pairs!<br />
<div style="text-align: left;">
____</div>
<br />
Download v1.4 (Includes Example script from the video and other examples):<br />
<a href="http://www.mediafire.com/file/u3bfpc3n2p3xn6q/SimpleObject_o%2528Function%2529_-_v1.4.rar/file" target="_blank">http://www.mediafire.com/file/u3bfpc3n2p3xn6q/SimpleObject_o%2528Function%2529_-_v1.4.rar/file</a><br />
<br />
<br />
___ v1.4 ___ :<br />
<br />
for "Key" parameter: ___<br />
<br />
<=Sx ;get the nth Section name from an "o()" function object (<=S1 First, <=S2 second, and so on ...!)<br />
<br />
<=Cx ;get the nth Section Content from an "o()" function object (<=C1 First, <=C2 second, and so on ...!)<br />
<br />
<=CountSections ;count sections that an "o()" function object contains<br />
<br />
for "Task" parameter: ___<br />
<br />
CheckKey ;check if key exist<br />
<br />
CheckSection ;check if section exist <br />
<br />
DelKey ;delete keys from sections<br />
<br />
___ v1.3 ___ :<br />
<br />
Inside "UpdateSectionIndex", the line, if (IndexFound = 0), was replaced with, if RegExMatch(IndexFound, "^0")<br />
<br />
Any section that ends by 0 or by an integer number that contains leading zero\s will be ignored while Updating section index! <br />
<br />
___ v1.2 ___ :<br />
<br />
AHK For-Loop equivalent implemented by using the new options below: <br />
<br />
for "Key" parameter: ___<br />
<br />
<=Get ;get values from "o()" function static vars (Mainly for "FindAnyKey" var)<br />
<br />
Kx=> ;get the nth key of a section (K1=> First, K2=> second, and so on ...!)<br />
<br />
Vx=> ;get the nth value of a section (v1=> First, v2=> second, and so on ...!)<br />
<br />
GetIndex=> ;get index of a specified section<br />
<br />
for "Task" parameter: ___<br />
<br />
GetSectionIndex ;get index of a specified section<br />
<br />
___ v1.1 ___ :<br />
<br />
for "Key" parameter: ___<br />
<br />
=> ;Add\Modify multiple keys (if section does not exist, it will be created)<br />
<br />
+=> ;Create new section at specified index and Add multiple keys (the previous section index number will be increased, and so on)<br />
<br />
-=> ;Delete content of the specified section and then add multiple keys!<br />
<br />
Get=> ;get content of the specified section<br />
<br />
for "Task" parameter: ___<br />
<br />
GetSection ;get section content<br />
<br />
DelSectionContent ;delete section content<br />
<br />
<br />
<br />
<br />
<br />
<br />
Keywords:<br />
AHK String Object<br />
AutoHotKey String Object<br />
Simple Object o(Function) - String Object (AutoHotKey) Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-3513950616121428758.post-66447928218926099032019-03-26T17:52:00.001-07:002019-03-26T19:20:23.264-07:00LV_AddEditRow(Function) - Add or Edit ListView Control Rows<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/phkJbduwCq4/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/phkJbduwCq4?feature=player_embedded" width="100%"></iframe></div>
<br />
<br />
There are currently two versions, the v1 and v2!<br />
<br />
v1 uses AHK built-in Object!<br />
<br />
v2 uses "SimpleObject o(Function)"!<br />
<br />
v2 is recommended over v1 because write\read objects from "SimpleObject o(Function)" to\from files can be easily done!<br />
<br />
"SimpleObject o(Function)" allows "InsertAt()\RemoveAt()" to be used with "Associative Arrays"!<br />
<br />
For example:<br />
<br />
- "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 ...!<br />
<br />
- "RemoveAt(Col_2)" would automatically make "Col_3" the new "Col_2", "Col_4" the new "Col_3", and so on ...!<br />
<br />
Another Big Advantage is that objects from "SimpleObject o(Function)" are made of "Sections" and each section contains a set of "Key\value" pairs!<br />
<br />
Download (v2.0 and v1.1):<br />
<a href="http://www.mediafire.com/file/e5lz8hmihjalbk8/LV_AddEditRow_%2528Function%2529_-_v2.0_and_v1.1.rar/file" target="_blank">http://www.mediafire.com/file/e5lz8hmihjalbk8/LV_AddEditRow_%2528Function%2529_-_v2.0_and_v1.1.rar/file</a><br />
<br />
<br />
<br />
<br />
<br />
Keywords:<br />
LV_AddEditRow(Function) - Add or Edit ListView Control Rows (AutoHotKey)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-45341039367120030672019-03-20T07:44:00.002-07:002019-03-20T08:54:14.926-07:00Get_Milliseconds (Function)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixNwpaQgIHCdPtyi21_Mj_qiDGZXnjMKpJSBI3p78Fcq0MEfS27uar15qrOkBH21Go1Izi3WZc9dUO5fJ5YEEhfMBl9wSJymmuDdtiXPe0Om8kLdWHGH8ethR0F1WBM34BLkYI4Awi/s1600/Get_Milliseconds%2528Function%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="371" data-original-width="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixNwpaQgIHCdPtyi21_Mj_qiDGZXnjMKpJSBI3p78Fcq0MEfS27uar15qrOkBH21Go1Izi3WZc9dUO5fJ5YEEhfMBl9wSJymmuDdtiXPe0Om8kLdWHGH8ethR0F1WBM34BLkYI4Awi/s1600/Get_Milliseconds%2528Function%2529.png" /></a></div>
<br />
v1.0:<br />
<a href="http://www.mediafire.com/file/zrebsxtpgczbc32/Get_Milliseconds%2528Function%2529_-_v1.0.rar/file" target="_blank">http://www.mediafire.com/file/zrebsxtpgczbc32/Get_Milliseconds%2528Function%2529_-_v1.0.rar/file</a><br />
<br />
<textarea id="GMF_TA1_200319" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/Get_Milliseconds(Function)%20-%20v1.0%20_98.ahk', function(data) {
$('#GMF_TA1_200319').val(data);
});
</script>
<br />
<br />
<br />
<br />
Keywords:<br />
Get_Milliseconds(Function)<br />
Get_Milliseconds Function<br />
Convert Milliseconds to year day hour minute second<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-73386505959685531472019-03-18T14:34:00.001-07:002019-03-18T15:26:18.618-07:00Gui_Please_Wait (Function)<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/x88mZM4woNI/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/x88mZM4woNI?feature=player_embedded" width="100%"></iframe></div>
<br />
<br />
v1.0:<br />
<a href="http://www.mediafire.com/file/42geju75id3u33s/Gui_Please_Wait%2528Function%2529_-_v1.0.rar/file" target="_blank">http://www.mediafire.com/file/42geju75id3u33s/Gui_Please_Wait%2528Function%2529_-_v1.0.rar/file</a><br />
<br />
<textarea id="GPWF_TA1_180319" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/Gui_Please_Wait(Function)%20-%20v1.0%20_95.ahk', function(data) {
$('#GPWF_TA1_180319').val(data);
});
</script>
<br />
<br />
<br />
<br />
<br />
Keywords:<br />
Gui_Please_Wait(Function)<br />
Gui_Please_Wait(AHK)<br />
Gui_Please_Wait (AutoHotKey)<br />
<br />
Gui Please Wait Function<br />
Gui Please Wait AHK<br />
Gui Please Wait AutoHotKeyUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-17635708081823182622019-03-15T19:34:00.001-07:002019-03-15T20:02:19.154-07:00Execute After Typing<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/h8m1grHhgPI/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/h8m1grHhgPI?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
<br />
<textarea id="EAT_TA1_160319" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/Execute%20After%20Typing%20_98.ahk', function(data) {
$('#EAT_TA1_160319').val(data);
});
</script>
<br />
<br />
<br />
<br />
<br />
Keywords:<br />
Execute After Typing (AHK)<br />
Execute After Typing (AutoHotKey)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-21324991022521191242019-03-15T17:54:00.002-07:002019-03-15T18:34:40.279-07:00ScriptGet (Function)Never, Never and Never declare "Global" variables! (Especially when writing "Functions" or "Classes"!)<br />
<br />
Use "ScriptGet()" function instead that allows others Functions\Classes to get values of Local Variables from the Main Script!<br />
<br />
"ScriptGet()" can only "Read" Local variables from Main Script! ("Global" variables allows "Read" and "Write" in which causes a lot of problems!)<br />
<br />
<br />
v1.0:<br />
<a href="http://www.mediafire.com/file/ybwh1o01lu6j1tk/ScriptGet%2528Function%2529_-_v1.0.rar/file" target="_blank">http://www.mediafire.com/file/ybwh1o01lu6j1tk/ScriptGet%2528Function%2529_-_v1.0.rar/file</a><br />
<textarea id="SGF_TA1_tge6473j" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/ScriptGet(Function)%20-%20v1.0.ahk', function(data) {
$('#SGF_TA1_tge6473j').val(data);
});
</script>
<br />
<br />
<br />
<br />
<br />
keywords<br />
ScriptGet (Function)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-8892520120231960482017-11-15T18:18:00.000-08:002017-11-28T19:49:15.146-08:00StringSearch (Function)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6C7C5s0u4w_bToYXtiV44QTSetg_NVkaYLekZX-vZl0TBF5GUJGao2pUOJQUeFE0Kh8p1iouh1MizDe2j4l3nL16p2E8QJ1pOLhr__YGPlMUSUsrKEEWZOO7k1IXDKZqhWH7EM4r4/s1600/74_+z_+Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="551" data-original-width="699" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6C7C5s0u4w_bToYXtiV44QTSetg_NVkaYLekZX-vZl0TBF5GUJGao2pUOJQUeFE0Kh8p1iouh1MizDe2j4l3nL16p2E8QJ1pOLhr__YGPlMUSUsrKEEWZOO7k1IXDKZqhWH7EM4r4/s320/74_+z_+Image.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/z4exJ8cAwkQ/0.jpg" frameborder="0" height="300" src="https://www.youtube.com/embed/z4exJ8cAwkQ?feature=player_embedded" width="100%"></iframe></div>
<br />
The function supports Regular Expressions!<br />
<br />
v1.1:<br />
<textarea id="SSF_TA2" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/StringSearch(Function)%20-%20v1.1.ahk', function(data) {
$('#SSF_TA2').val(data);
});
</script>
<br />
v1.1 Changes:<br />
- RegEx subpatterns can be searched now!<br />
- "StringLengh" and "RegExError" return options added! <br />
- Performance Improved!<br />
<br />
".exe" and extra files, v1.1:<br />
<a href="http://www.mediafire.com/file/8ogi8cf62lufejz/StringSearch%28Function%29_-_v1.1.rar" target="_blank">http://www.mediafire.com/file/8ogi8cf62lufejz/StringSearch%28Function%29_-_v1.1.rar</a><br />
<br />
v1.0:<br />
<textarea id="SSF_TA1" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/StringSearch(Function)%20-%20v1.0.ahk', function(data) {
$('#SSF_TA1').val(data);
});
</script>
<br />
".exe" and extra files, v1.0:<br />
<a href="http://www.mediafire.com/file/1e0yh1sd8kxm9uq/StringSearch%28Function%29_-_v1.0.rar" target="_blank">http://www.mediafire.com/file/1e0yh1sd8kxm9uq/StringSearch%28Function%29_-_v1.0.rar</a><br />
<br />
<br />
keywords:<br />
StringSearch (AutoHotKey)<br />
StringSearch (Function)<br />
Search function<br />
Search String<br />
Search text<br />
Search word<br />
search characterUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-64162864118627421232017-11-02T20:13:00.002-07:002017-11-02T20:33:38.033-07:00C_Caret (Function)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVfNKL8DlMoGOXEqlO4G6XGv9qT1yq8N6PUPZ5rjPB7NYTISC6vhlHvn68XiQ4sgFz071lB_t_IQ7AJOvuHpncr83BdNl4hjlAbVmR8EFhbcjU7RpNPfRor-74qhqPVQd9kLLEx8az/s1600/98_+z_+Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="219" data-original-width="551" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVfNKL8DlMoGOXEqlO4G6XGv9qT1yq8N6PUPZ5rjPB7NYTISC6vhlHvn68XiQ4sgFz071lB_t_IQ7AJOvuHpncr83BdNl4hjlAbVmR8EFhbcjU7RpNPfRor-74qhqPVQd9kLLEx8az/s400/98_+z_+Image.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/iKbeEkV2Qss/0.jpg" frameborder="0" height="300" src="https://www.youtube.com/embed/iKbeEkV2Qss?feature=player_embedded" width="100%"></iframe></div>
<br />
v1.0:<br />
<textarea id="CCF_TA1" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/C_Caret(Function)%20-%20v1.0.ahk', function(data) {
$('#CCF_TA1').val(data);
});
</script>
<br />
<br />
Get Caret info relative to the specified control's client area!<br /><br />First, the function must be called specifying a Control hwnd in order to get the caret S,L,X,Y positions!<br />Example, C_Caret(ControlId)<br /><br />Then specify one of the letters to get their values!<br />Get Caret String Position, C_Caret("S")<br />Get Caret Line Position, C_Caret("L")<br />Get Caret X Position, C_Caret("X")<br />Get Caret Y Position, C_Caret("Y")<br />
<br />
Extra files (v1.0):<br />
<a href="http://www.mediafire.com/file/8fvk7l37dwi097v/C_Caret%28Function%29_-_v1.0.rar" target="_blank">http://www.mediafire.com/file/8fvk7l37dwi097v/C_Caret%28Function%29_-_v1.0.rar</a><br />
<br />
<br />
Keywords:<br />
C_Caret (AutoHotKey)<br />
C_Caret (Function)<br />
Get Caret info relative to the specified control's client area!<br />
Get Caret Pos relative to the specified control's client area!<br />
Get Caret String Position relative to the specified control's client area!<br />
Get Caret x y coordinates relative to the specified control's client area!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-59968119455873752182017-11-02T18:00:00.003-07:002017-11-02T18:07:00.612-07:00Functions Multiple Values Return<textarea id="FMVR_TA1" readonly="" rows="25" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/Functions%20-%20Multiple%20Values%20Return.ahk', function(data) {
$('#FMVR_TA1').val(data);
});
</script><br />
<br />
<br />
Keywords:<br />
Functions Multiple Values ReturnUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-61868642579964975242017-11-01T12:48:00.001-07:002017-11-01T14:31:29.670-07:00ClientAreaGetPos (Function)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuEAQR9WSkhhhVtthruAz4cDkyLQG7I9ESlyW1p6VWr64VnFoENIpbS4n2nkZidNtuLyT2WQJRsJUtj8l65vB-Zbjyyk9SJExvLw8ka-5DukLZOnZ9j9ewHTX0JcVdeoyJL46hbX9K/s1600/ClientAreaGetPos%2528Function%2529+-+v1.0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuEAQR9WSkhhhVtthruAz4cDkyLQG7I9ESlyW1p6VWr64VnFoENIpbS4n2nkZidNtuLyT2WQJRsJUtj8l65vB-Zbjyyk9SJExvLw8ka-5DukLZOnZ9j9ewHTX0JcVdeoyJL46hbX9K/s1600/ClientAreaGetPos%2528Function%2529+-+v1.0.png" /></a></div>
<br />
v1.0:<br />
<textarea id="CAGPF_TA1" readonly="" rows="17" style="width: 100%;" wrap="off"></textarea>
<script>
$.get('https://raw.githubusercontent.com/coder4589/AutoHotKey/master/Blogger/ClientAreaGetPos(Function)%20-%20v1.0.ahk', function(data) {
$('#CAGPF_TA1').val(data);
});
</script><br />
<br />
ClientAreaGetPos(Function), this function returns the window or control client area xy pos relative to screen upper-left corner!<br /><br />First, the function must be called specifying the win or control hwnd id in order to get xy pos!<br />Example, ClientAreaGetPos(WinId) or ClientAreaGetPos(ControlId)<br /><br />Then, specify x or y and the function will return their values!<br />Example, ClientAreaGetPos("x") or ClientAreaGetPos("y")<br />
<br />
Extra files, v1.0:<br />
<a href="http://www.mediafire.com/file/67st5ailb0xu9fy/ClientAreaGetPos%28Function%29_-_v1.0.rar" target="_blank">http://www.mediafire.com/file/67st5ailb0xu9fy/ClientAreaGetPos%28Function%29_-_v1.0.rar</a><br />
<br />
<br />
Keywords:<br />
ClientAreaGetPos(Function)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-60197329991202470592017-10-30T10:29:00.002-07:002017-10-30T10:33:57.162-07:00Practical Function ByRef Example<textarea readonly style="width:100%;" rows="15" wrap="off">
Test(A, B, C)
Zate(D, E, F)
Xaxa(G, H, I)
;after the function calls, A,B,C,D,E,F,H values will be the same as their correspondent functions ByRef Parameters values!
;after the function calls, G,I variables values will still blank because their correspondent function parameters do not use ByRef option!
msgbox, % ""
. A " - " B " - " C "`n"
. D " - " E " - " F "`n"
. G " - " H " - " I "`n"
Test(ByRef X, ByRef Y, ByRef Z)
{
X := 111
Y := 222
Z := 333
}
Zate(ByRef X, ByRef Y, ByRef Z)
{
X := 444
Y := 555
Z := 666
}
Xaxa(X, ByRef Y, Z)
{
X := 777
Y := 888
Z := 999
}
</textarea>
<br />
<br />
<br />
<br />
Keywords: <br />
Practical Function ByRef ExampleUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-27805221177724374422017-07-12T17:30:00.000-07:002017-07-12T17:34:05.161-07:00Create a Gui Window with a Function<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhamocEwZcnVkZYKlw8zvW6NFGfeyXs3qn8Ao81UOsSvApSV4z_WnU7FYsvgGcKKvqI7ovRIYs0CdInR5BkhXSpMoA35Bj_GyiQ4Yz_dl0_4WUlr2BAw-M-uWBLm-9uOo01dcX0Sb1s/s1600/Create+a+Gui+Window+with+a+Function.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="243" data-original-width="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhamocEwZcnVkZYKlw8zvW6NFGfeyXs3qn8Ao81UOsSvApSV4z_WnU7FYsvgGcKKvqI7ovRIYs0CdInR5BkhXSpMoA35Bj_GyiQ4Yz_dl0_4WUlr2BAw-M-uWBLm-9uOo01dcX0Sb1s/s1600/Create+a+Gui+Window+with+a+Function.png" /></a></div>
<br />
<textarea readonly="" rows="20" style="width: 100%;" wrap="off">NewGui()
NewGui() ;_______________ NewGui(Function) _________________
{
static Edit1Id, Edit2Id
;"Static" variables are always implicitly "local", but differ from "locals" variables because their values are remembered between calls.
;"GuiControl" and "GuiControlGet" don't work well with static variables associated with gui controls! But they work perfectly well with static variables that contain gui controls Hwnd id number!
;Unlike "GuiControlGet", "Gui, Submit" can Save the contents of each control to its associated Static variable! (Strange!)
gui, add, edit, w400 h100 gRealTimeUpdate +HwndEdit1Id, Type or copy\paste any text here
gui, add, edit, w400 h100 +ReadOnly +HwndEdit2Id, Output
;"+Hwnd" stores the control hwnd id number in "Edit1Id" and "Edit2Id" static variables
gui, show
return
RealTimeUpdate: ;____ Real Time Update ____
guicontrolget, Text1, , % Edit1Id
guicontrol, , % Edit2Id, % Text1
return
guiclose: ;___ gui close ___
exitapp
}
</textarea><br />
<br />
<br />
Keywords: <br />
Create a Gui Window with a Function<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3513950616121428758.post-91816395174484372132017-07-11T18:10:00.000-07:002017-07-11T18:10:09.507-07:00Hash Checksum - File String Hex (Functions)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQKS8RyHusaaUbwIcM6PSxLZA0LX23unNyJ5sULNf3N1ST5de18-uONP14VRKTbJzMXdCmYxSNgx5zRo6vwpRZFns5_zT1RUaPQYlG5_YA6mq5pfoptf8ygNPxr4dhPJoEFdq207ln/s1600/48_+z_+Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="826" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQKS8RyHusaaUbwIcM6PSxLZA0LX23unNyJ5sULNf3N1ST5de18-uONP14VRKTbJzMXdCmYxSNgx5zRo6vwpRZFns5_zT1RUaPQYlG5_YA6mq5pfoptf8ygNPxr4dhPJoEFdq207ln/s400/48_+z_+Image.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/gBxIBpiKAd4/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/gBxIBpiKAd4?feature=player_embedded" width="100%"></iframe></div>
<br />
Download script here:<br />
<a href="http://www.mediafire.com/file/4tbi7gel6160txy/Hash_Checksum_-_File_String_Hex_%28Functions%29.rar" target="_blank">http://www.mediafire.com/file/4tbi7gel6160txy/Hash_Checksum_-_File_String_Hex_%28Functions%29.rar </a><br />
<br />
<br />
Keywords:<br />
Hash Checksum - File String Hex (AutoHotKey)<br />
Hash Checksum - File String Hex (Functions)Unknownnoreply@blogger.com0