Leaderboard
Popular Content
Showing content with the highest reputation on 08/24/2015 in all areas
-
Version 1.3
1,734 downloads
Hello Everyone , Are you tired of searching the forum for getting both the exit code & the stdout output? Then your are in the right place! With this UDF you can get the both output & exit code of the command or the console app! Or you can get the exit code of another process without having to use RunWait... Features: 1. Simple & Lightweight (15 KB) 2. Detailed comments & description 3. Flexible functions with many optional parameters A BIG THANKS TO PsaltyDS for the functions! 2 of the (main) functions in the UDF are his work List of functions:2 points -
Laptop Guardian
JohnOne and one other reacted to jvanegmond for a topic
You know that exists right? Hard disk firmware can be flashed with modified code. Recently people been doing interesting things with that. https://en.wikipedia.org/wiki/Rootkit#Firmware_and_hardware Edit Also what is the first thing you do after a reformat? You connect it to the internet to download updates and drivers. What if I flash your home router so it uses known exploits against Windows the moment that you connect? It's honestly not even that hard.2 points -
Control Viewer - AutoIt Window Info Tool
mythicalzxc reacted to Yashied for a topic
LAST VERSION - 1.1 18-May-12 Control Viewer (CV) is a replacement of AutoIt Window Info with a number of advantages. I tried to stick to the interface of the last, so you almost do not have to be retrained. During testing, I never managed to find any controls that could not be identified by CV (on the contrary, shows a lot of hidden controls, especially for the system windows). The all program settings are stored in the following registry key: HKEY_CURRENT_USERSoftwareY'sControl Viewer The main differences CV from AWI Shows the complete list of all existing controls for the window that are interested (visible, hidden and deleted controls are displayed with different colors that can be changed to any other).Dynamically changing information during search for the windows and their controls.Ability to quickly switch between controls in the list.Ability to show/hide any controls from the list (useful for the overlaping controls).Information for the Style and ExStyle parameters shown in the form of hexadecimal values, and as its flags.Added the PID and Path parameters in the Window tab and ability to quickly open a folder that containing the process file.Added the coordinate system relative to the selected control.Shows a color of the selected pixel in RGB and BGR formats.Shows an example fill of the selected color.Ability to select the text encoding (affects the Text parameter in the Control tab).The complete change the appearance of pop-up frame for the selected controls.Simple and convenient tool to get a screenshot of the part screen of interest for publication on the forum (Capture tab).Create a report in the clipboard or a text file for subsequent publication on the forum.Search all running AutoIt scripts and their windows in the system (AutoIt tab).User-friendly interface. Used shortcuts Ctrl+Alt+T - Enable/Disable "Always On Top" mode (also available from the menu). Ctrl+Alt+H - Enable/Disable highlight selected controls (also available from the menu). Ctrl+A - Select all text (works in any input field). Ctrl - Hold down when moving the mouse to scroll the screenshot (Capture tab). Shift - Hold down when stretching/compression of the contour frame for an equilateral resizing screenshots (Capture tab). DoubleClick (on the screenshot) - Save the image to a file (Capture tab). DoubleClick (on any list item) - Open a folder with the file of the process or AutoIt script (AutoIt tab). Del (on any list item) - Close process (AutoIt tab). F5 - Updating the list (AutoIt tab). If anyone have any questions or comments about CV, please post it in this thread. I will be glad to any feedback and suggestions. Files to download Binary (x86 and x64) Redirection to CV_bin.zip, 1.14 MB CV_bin.html Source Redirection to CV_source.zip, 691 KB CV_source.html1 point -
Utter is a free ware windows API automation script.It can do most of the sapi dll functions."SAPI" stands for Windows Speech Reconition API,SAPI.dll is the file which manages the speech recognition of windows Utter utilises most of the SAPI functions making use of the best potential of SAPI.dll,You can include speech recognition to your project by using utter. Utter zipped and updated (new version with examples) Modified ......: 12/04/2017 Version .......: 3.0.0.1 Author ........: Surya I am new to autoit it sounds great and i love it while i am getting used to it so i want to write my own UDF in autoit first of all i thank all the forum members because i couldnt do it without research,So i wrote UTTER ,Its is a UDF that uses most of the SAPI dll function or in simple words it can do many functions relating to the computers speech recognition if you have any doubt in the code or have any bugs please notify me freely I will be always there to help its my first UDF so please notify me if you found any error Thank you! Utter has been recently updated ,examples included.The zip can be downloaded here at the download section of autoit : Download utter !! CAUTION !! REMEMBER TO SHUTDOWN THE INSTANCE OF CREATED RECOGNITION ENGINE BEFORE STARTING ANOTHER INSTANCE IF YOU START ANOTHER WITHOUT SHUTTING THE PREVIOUS ONE DOWN IT WILL LEAD TO AN ERROR! REMEMBER THAT "|" IS THE DEFAULT GUIDataSeparatorChar CHANGE IT ACCORDING TO YOUR NEEDS AND GRAMMAR DELIMITER IS GUIDataSeparatorChar IF NO GUIDataSeparatorChar IS FOUND IN THE INPUT STRING THEN THE ENTIRE STRING WOULD BE CONSIDERED AS ONE WORD! DO NOT CALL THE INTERNAL FUNCTIONS THEY ARE TO BE CALLED INSIDE THE FUNCTION AND DO NOT CHANGE THE VALUE OF VARIABLES USED IN THE FUNCTION! THE RECIEVING FUNCTIONS SHOULD HAVE ATLEAST ONE PARAMETER TO ACCEPT THE SPEECH COMMANDS FROM THE _Utter_Speech_GrammarRecognize() FUNCTION please report if you have any bugs/complaints1 point
-
After repeated execution of the loop below, the function _IELinkGetCollection fails with the following messages: "C:\Program Files (x86)\AutoIt3\Include\IE.au3" (1508) : ==> The requested action with this object has failed.: Case $iIndex > -1 And $iIndex < $oObject.document.GetElementsByTagName("table").length Case $iIndex > -1 And $iIndex < $oObject.document^ ERROR ->20:07:24 AutoIt3.exe ended.rc:1 It looks like it might be related to memory issues because the problem happens after page 30, but it varies. Also, all pages contain the same table structure in terms of lines and columns. I´ve not been able to figure it out. So, any help is appreciated. #include <IE.au3> #include <MsgBoxConstants.au3> local $i = 0 local $qtPages = 0 local $oFound local $colLinks local $oTable local $aTableData Do Sleep(2000) $oIELDP = _IEAttach ("ABCD", "title") $i = $i +1 Until isObj($oIELDP) or $i >= 5 if not isobj($oIELDP) Then MsgBox($MB_SYSTEMMODAL, "ERR", "ABCD not Found" ) Else Do $oFound = "" $colLinks = _IELinkGetCollection($oIELDP) For $oLink In $colLinks If $oLink.innerText = "Próxima" Then $oFound = $oLink ExitLoop EndIf Next if $oFound <> "" Then _IEAction($oFound, "click") _IELoadWait($oIELDP) $oTable = _IETableGetCollection($oIELDP, 10) $aTableData = _IETableWriteToArray($oTable, true) ;Do something with Array $aTableData $qtPages = $qtPages + 1 EndIf consolewrite("$qtPages " & $qtPages & @CRLF) Until $oFound = "" or $qtPages > 50 EndIf1 point
-
[Fixed] _Crypt_DeriveKey Not working as Intended
CrypticKiwi reacted to EmilyLove for a topic
Big thanks to CrypticKiwi for helping me with this issue. Click HERE to go to his solution. It was working earlier today but now all of a sudden it doesn't work. I literally have no idea why it won't work. It should look like 0x30783030453638434130 but it will only generate keys that looks like 0x016A0C08 now. (Hint: It's noticibly shorter) #RequireAdmin #include "crypt.au3" #include "Date.au3" #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 154, 121, 192, 124) $Label1 = GUICtrlCreateLabel("What would you like to do?", 8, 8, 141, 17) $Button1 = GUICtrlCreateButton("Encrypt", 8, 40, 137, 25) $Button2 = GUICtrlCreateButton("Decrypt", 8, 80, 137, 25) #EndRegion ### END Koda GUI section ### Global $key_encrypted = _Crypt_DeriveKey("1WSUJpOq1ca2H9DMRhs14iy3fI04IBFp", $CALG_RC4);Does not generate a working key. What's going on? Global $date, $input, $data, $result, $key GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1;I assume works as Intended. GUISetState(@SW_HIDE) $date = "" $date = _DateDiff("s", "1970/01/01 00:00:00", _NowCalc()) $data = "" $data = _Crypt_EncryptData($date, $key_encrypted, $CALG_RC4) $input = "" $input = InputBox("Crypter", "Enter the data to be encrypted.", $data) $result = "" $result = _Crypt_EncryptData($input, $key_encrypted, $CALG_RC4) InputBox("Crypter", "Your Data Encrypted is", $result) InputBox("Crypter", "Your Key Encrypted is", $key_encrypted) GUISetState(@SW_SHOW) Case $Button2;Works as Intended, as it decrypts previously successful encrypted variables just fine. GUISetState(@SW_HIDE) $input = "" $input = InputBox("Crypter", "Enter the data to be decrypted.") $key = "" $key = InputBox("Crypter", "Enter the key to decrypt the data.") $result = "" $result = BinaryToString(_Crypt_DecryptData($input, $key, $CALG_RC4)) InputBox("Crypter", "Your Data Decrypted is", $result) GUISetState(@SW_SHOW) EndSwitch WEnd1 point -
[Fixed] _Crypt_DeriveKey Not working as Intended
EmilyLove reacted to CrypticKiwi for a topic
Got it, it has to be Number($Key) while recieving decryption input from inputbox #RequireAdmin #include "crypt.au3" #include "Date.au3" #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <MsgBoxConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 154, 121, 192, 124) $Label1 = GUICtrlCreateLabel("What would you like to do?", 8, 8, 141, 17) $Button1 = GUICtrlCreateButton("Encrypt", 8, 40, 137, 25) $Button2 = GUICtrlCreateButton("Decrypt", 8, 80, 137, 25) #EndRegion ### END Koda GUI section ### Global $key_encrypted = _Crypt_DeriveKey("1WSUJpOq1ca2H9DMRhs14iy3fI04IBFp", $CALG_RC4);Does not generate a working key. What's going on? Global $date, $input, $data, $result, $key GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1;I assume works as Intended. GUISetState(@SW_HIDE) $date = "" $date = _DateDiff("s", "1970/01/01 00:00:00", _NowCalc()) $data = "" $data = _Crypt_EncryptData($date, $key_encrypted, $CALG_RC4) $input = "" $input = InputBox("Crypter", "Enter the data to be encrypted.", $data) $result = "" $result = _Crypt_EncryptData($input, $key_encrypted, $CALG_RC4) InputBox("Crypter", "Your Data Encrypted is", $result) InputBox("Crypter", "Your Key Encrypted is", $key_encrypted) GUISetState(@SW_SHOW) Case $Button2;Works as Intended, as it decrypts previously successful encrypted variables just fine. GUISetState(@SW_HIDE) $input = "" $input = InputBox("Crypter", "Enter the data to be decrypted.") $key = "" $key = InputBox("Crypter", "Enter the key to decrypt the data.") $result = "" $result = BinaryToString(_Crypt_DecryptData($input, Number($key), $CALG_RC4)) InputBox("Crypter", "Your Data Decrypted is", $result) GUISetState(@SW_SHOW) EndSwitch WEnd1 point -
Downloading Entire folder located on a FTP
OhBobSaget reacted to AutoBert for a topic
You can use my FTP_FileList_Recursiv.au3. There's also a Demo how to use, FTP_FileList_Recursiv.au3 FTP_FileList_Recursiv.au3 FTP_FileList_RecursivDEMO.au3 FTP_FileList_RecursivDEMO.au31 point -
I have no idea what this is supposed to mean.1 point
-
Laptop Guardian
TheShadowBlade reacted to Surya for a topic
you could also add subst command to your scrpit to add folders as drives.You have a Nice script there glad i could help1 point -
I just wanted to be sure you were paying attention...1 point
-
Laptop Guardian
Surya reacted to TheShadowBlade for a topic
Cool idea and quite useful against a beginner thief, but 3 clicks in the task manager to terminate. Try to make another script, with this code: #NoTrayIcon #RequireAdmin Global Const $script_name = "YourGuardianProgram'sFilename" Global Const $script_path = @ScriptDir & "\" & $script_name & ".exe" Global Const $action_when_program_terminates = 1 Global Const $check_interval = 10 ; 1 = Restarts the computer ; 2 = Kill the task manager if exists, and restart the guardian While 1 If ProcessExists($script_path) = False Then Switch $action_when_program_terminates Case 1 Shutdown(6) Case 2 ProcessClose("taskmgr.exe") Run($script_path) EndSwitch EndIf Sleep(10) WEnd ;add the Run("2ndguardianpath") and this code to the main guardian's program, but modify the $script_name constant to this program's nameI hope it will useful for you1 point -
kcvinu, Good news - I am working on a new approach which looks promising, so you may be in luck. M231 point
-
Laptop Guardian
TheShadowBlade reacted to Surya for a topic
Add this to your script ;...................... ;.............commands OnAutoItExitRegister ("Recall") Func Recall() Run (@scriptname &".exe","",@SW_HIDE) endfuncDo this so that if the program exits an another instance of the same program is toggled by the same program that way the program dies creating another instnce of the dead one hope i helped1 point -
Laptop Guardian
Surya reacted to TheShadowBlade for a topic
Set the process as critical, because it can be simply terminated by the task manager. And also a screenshot taking after the thief opens the lid.1 point -
i have updated the UDF zipped it and updated it with examples1 point
-
If you think about: ----------Examples----------- (Transcription Audio) $hm = _Utter_Voice_StartEngine() _Utter_Voice_Transcribe($hm,@ScriptDir &"\intro.mp3","This is an example for transcription of audio",0,@ScriptDir &"\lame.exe") _Utter_Voice_Shutdown() SoundPlay (@ScriptDir &"\intro.mp3",1) (Grammar Example) Local $handl = _Utter_Speech_StartEngine() Local $txt1 = "Red is my favourite|Yellow is fine|blue colour reveals excitement|black is for speed|Green Colour" Local $txt2 = "Colors|Animals are good|Regions|Country" _Utter_Speech_CreateGrammar($handl,$txt1,$txt2) _Utter_Speech_CreateTokens($handl) _Utter_Speech_GrammarRecognize($handl,"Red",0) While 1 Sleep (50) ConsoleWrite (@CRLF &"Recognised=" &$UTTER_SPEECH_RECOGNIZE) WEnd _Utter_Speech_ShutdownEngine() -------------Examples-------------------- Then I can tell you the better way is to make separate au3 file and zip it together with UDF and then put the ZIP file to the desired download "FILE"1 point
-
Classic restart solves everything. I always use the rule of 3^3, in which that determines how many times I try before I figure it's not my fault.1 point
-
I have already included an example in the udf if you want another one i will update it no worries1 point
-
No, just use FileRead for the first time and store the byte size read off the file, which is set in @extended. Next runs, use FileSetPos to start reading up from the start of newly written data, then FileRead up to EOF. Of course this requires that nothing truncates the file in between, i.e. that the logger always appends data.1 point
-
Fade91, The following is an example of how to return the unread portion of a file from scan to scan... ; *** Start added by AutoIt3Wrapper *** #include <EditConstants.au3> #include <GUIConstantsEx.au3> ; *** End added by AutoIt3Wrapper *** #include <array.au3> #include <date.au3> #include <File.au3> Local $file_monitored = @ScriptDir & '\log.log' ; file to monitor Local $monitor_interval = .25 ; minute(s) between file check Local $bMonitor = False ; switch to start monitor #AutoIt3Wrapper_Add_Constants=n Local $gui010 = GUICreate('Log Monitor') Local $aSize = WinGetClientSize($gui010) Local $lbl010 = GUICtrlCreateLabel('Log', 10, 10, 50, 20) Local $log010 = GUICtrlCreateEdit('', 10, 30, $aSize[0] - 20, $aSize[0] - 50, $es_readonly) GUICtrlSetFont($log010, 7, 800, -1, 'lucinda console') GUISetState() ; routine to start scan AdlibRegister('_start_monitor', $monitor_interval * 60 * 1000) While 1 Switch GUIGetMsg() Case $gui_event_close Exit EndSwitch If $bMonitor = True Then _scan_file() $bMonitor = False EndIf WEnd ; scan routine Func _scan_file() Local $sTMP = '' Local Static $FilePos = 0 ;read log file entries added since the last scan Local $fl = FileOpen($file_monitored) If $fl = -1 Then Exit MsgBox($MB_ICONERROR, '', 'File open failed') ; set file position to last position read If Not FileSetPos($fl, $FilePos, 0) Then _ Exit MsgBox(0, 'ERROR', 'FileSetPos failed') ; read file from last position read to the end Local $sLogEntries = FileRead($fl) ; save file position for the next loop $FilePos = FileGetPos($fl) FileClose($fl) ; do whatever you want with the log entries...I am just writing them to the gui GUICtrlSetData($log010, 'Log Scan at ' & _Now() & @CRLF & $sLogEntries, 1) If StringRight(GUICtrlRead($log010), 2) <> @CRLF Then GUICtrlSetData($log010, @CRLF, 1) EndFunc ;==>_scan_file ; adlib to set switch that initiates scan Func _start_monitor() $bMonitor = True EndFunc ;==>_start_monitor Note - 1) If lines are deleted and subsequently populated that range will not be returned, although this could be coded for. 2) The file position is only valid while the script is running. You can probably externalize this value, if needed. Cursory comments are included, please ask if you have questions. kylomas1 point
-
Use the IE.au3. You can also use my signature to find the html objects more easily. _IECreate _IEAction1 point
-
Utter - Utilizing more of SAPI (Speech Recognition UDF)
TheShadowBlade reacted to Surya for a topic
boththose hihihihi1 point -
BigNum Decimal To Binary
CrypticKiwi reacted to jchd for a topic
"A little bit slow" is a serious euphemism! Guys, did you all forget how you learned handwritten division (yes, paper and pencil) or is that just a trick to make people spend money in the coffee machine while the CPU is melting down? #include "..\include\bignum.au3" ; this is RSA-170, a 170-digit (563-bit) RSA composite (not yet factored) Local $n = "26062623684139844921529879266674432197085925380486406416164785191859999628542069361450283931914514618683512198164805919882053057222974116478065095809832377336510711545759" Local $nb = _BigNum_ToBase($n, 13) ConsoleWrite($nb & @LF) ; this is RSA-2018, a 617-digit (2048-bit) RSA composite (not yet factored) $n = "25195908475657893494027183240048398571429282126204032027777137836043662020707595556264018525880784406918290641249515082189298559149176184502808489120072844992687392807287776735971418347270261896375014971824691165077613379859095700097330459748808428401797429100642458691817195118746121515172654632282216869987549182422433637259085141865462043576798423387184774447920739934236584823824281198163815010674810451660377306056201619676256133844143603833904414952634432190114657544454178424020924616515723350778707749817125772467962926386356373289912154831438167899885040445364023527381951378636564391212010397122822120720357" $nb = _BigNum_ToBase($n, 93) ConsoleWrite($nb & @LF) Func _BigNum_ToBase($sDecimal, $iBase) Local $vDigits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!""#$%&'()*+,-./:;<=>?@[\]^_`{|}~" ; 96 ASCII symbols, use Unicode for more If $iBase > StringLen($vDigits) Then SetError(1,0,0) $sDecimal = StringRegExpReplace($sDecimal, "(\D*0*)(\d+)(.*)", "$2") $vDigits = StringSplit($vDigits, '', 2) Local $sResult, $sRest Do $sRest = _BigNum_Mod($sDecimal, $iBase) $sResult = $vDigits[$sRest] & $sResult $sDecimal = _BigNum_Div(_BigNum_Sub($sDecimal, $sRest), $iBase) Until $sDecimal = '0' Return $sResult EndFunc ;==> _BigNum_ToBase1 point -
ConsoleWrite(_Rot13('Example use of applying ROT13 to a string of text.') & @CRLF) ; Version: 1.00. AutoIt: V3.3.8.1 ; Convert a string into ROT13. [https://en.wikipedia.org/wiki/ROT13] Func _Rot13($sString) ; Joke758 >> http://www.autoitscript.com/forum/topic/51400-rot13-encoding/#entry389256 Local $iPosition = 0, _ $sAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', _ $sCharacter = '', _ $sRotAlphabet = 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm', _ $sReturn = '' For $i = 1 To StringLen($sString) $sCharacter = StringMid($sString, $i, 1) $iPosition = StringInStr($sAlphabet, $sCharacter, 1) If $iPosition Then $sReturn &= StringMid($sRotAlphabet, $iPosition, 1) Else $sReturn &= $sCharacter EndIf Next Return $sReturn EndFunc ;==>_Rot131 point