Jump to content

All Activity

This stream auto-updates

  1. Today
  2. Obviously a fully encrypted script runs more slowly than a plaincode one, as every line needs to be decrypted first! If you want to reduce slowdown, you can opt to encrypt only selected functions you wish to keep secret (see button "UDFs") or encrypt only a proportion, or every Nth line. Regarding your object issue, one line is of course totally inadequate for any kind of test (and I have no idea what "catton" is). I would need from you the smallest possible test script that runs normally when unencrypted and fails when encrypted.
  3. Yesterday
  4. Ty @RTFC and yes idid tested backtranslate version of my script its work well just delete some part using object But when i encryp and obfuscation my scrip also work but run slower already try encrpy only no nest also already try obfuscation only still make my scrip run slower And for my object "<Global $catton = objcreate("catton.aplication")>"
  5. Most likely caused by a popup, banner, etc that doesn't always appear.
  6. Hi @Jemboy 👋 , this is not enough. We need the full log of both versions. Because no information about your capabilities string which is essential to know. Please simply set: $_WD_DEBUG = $_WD_DEBUG_Full ... and run again. Post your logs and maybe we are able to help. Also please consider to test your automation with different browsers. How is the behavior in MSEdge or how in Firefox? Another question: Do you use _WD_JsonActionKey in your code? Because I reviewed the changes between v1.3.1 and v1.4.0 and there is nothing which should break somehow. Besides function _WD_JsonActionKey I am sure about this. Best regards Sven
  7. Melba, Great! For whatever reason, I though that this setting might be a StringSize setting. Thanks for the clarification...appreciated!
  8. mr-es335, Have you read the Help file entry for SplashTextOn? If not, I suggest you do as you will find the answer to your question. M23
  9. @TheCrimsonCrusader glad we could help, your wife should be happy There is something important I didn't mention in my preceding post as it was already too long. In real life, you will probably need this Hotkey to be triggered when a specific window is active, but not for any other window. In the example below, Ctrl+a will act normally if the AutoIt help file is active (select all), but if NotePad is active, then the "double-click Ctrl+a+a" will trigger the code you will associate to Ctrl+a+a It means that when any Window is active (except NotePad) then we Send Ctrl+a if the user keys it, also there is code to avoid the very annoying issue of "sticky keys" just before we Send Ctrl+a I tested the script and it seems to work fine. The Window title I used for AutoIt help is "AutoIt Help" (and not "AutoIt Help (v3.3." because if someone tests the script with an older version of AutoIt, then the help file title was simply "AutoIt Help" without any reference to the AutoIt version. Hope it helps. #include <MsgBoxConstants.au3> #include <Misc.au3> Opt("MustDeclareVars", 1) ;0=no, 1=require pre-declaration If (Not WinExists("[CLASS:Notepad]")) Or (Not WinExists("AutoIt Help")) Then MsgBox($MB_TOPMOST, "Please do the following for this test", _ "1 - Open NotePad and type something in it" & @crlf & _ "2 - Open AutoIt Help file" & @crlf & @crlf & _ "Then run this script again") Exit EndIf ;Declare constants Const $DOUBLE_CLICK_TIME = 500 ;Declare global vars Global $ghUserDll = DllOpen("user32.dll"), $ghCtrl_ATimer = TimerInit() ;Set hotkey HotKeySet("^a", do_ctrl_a) ;Loop until ESC pressed While 1 If _IsPressed("1B", $ghUserDll) then ExitLoop Sleep(10) WEnd ;========================================================================== ; This hotkey function only do something if called twice ; within a specified time ($DOUBLE_CLICK_TIME) ;========================================================================== Func do_ctrl_a() HotKeySet("^a") While _IsPressed("11", $ghUserDll) And _IsPressed("41", $ghUserDll) ; Ctrl = 11, A = 41 Sleep(10) WEnd Local Static $iCounter = 0 $iCounter += 1 ConsoleWrite($iCounter & " ") If WinActive("[CLASS:Notepad]") Then ;Declare vars Local Static $iPrevTime = 0 Local $iCurrTime = TimerDiff($ghCtrl_ATimer) ;If function called twice within specified time If $iCurrTime < ($iPrevTime + $DOUBLE_CLICK_TIME) Then ;Do something MsgBox(BitOR($MB_ICONINFORMATION, $MB_TOPMOST), "NOTEPAD INFO", "CTRL+A double click occurred.") ;Reset timer $ghCtrl_ATimer = TimerInit() EndIf ;Reset previous Time to current time $iPrevTime = TimerDiff($ghCtrl_ATimer) Else While _IsPressed("11") ; Ctrl = 11 . Important While to avoid a possible "sticky key" issue before Send("^a") Sleep(10) WEnd Send("^a") EndIf HotKeySet("^a", do_ctrl_a) EndFunc
  10. Hi all My first attempt at a generator is now largely going, so here are ~320 odd interface libraries for anyone looking to tackle Windows.Devices.xxxx classes! The ObjCreateInterface() tags should also now work if people would rather go down that route. I still have plenty of development to do here, so just expect some bugs and a bit of fluidity between uploads.
  11. Haven;t had the time run and grab the full log, but I can post relevant Scite output here. The websriver UDF is 1.3.1, however my full script (in another folder) uses the latest Webdriver UDF. With the wrong response outputm I see "__WD_Post ==> Element interaction issue [14] : HTTP status = 400" where the diffirence is starting. I didn't have any time left today to investigate why the script reproduce a diffirent result here while doing the same web page. ;Script with GOOD results _WD_Startup: OS: WIN_10 X64 19045 _WD_Startup: AutoIt: 3.3.16.1 _WD_Startup: Webdriver UDF: 1.3.1 (Update available) _WD_Startup: WinHTTP: 1.6.4.2 _WD_Startup: Driver: chromedriver.exe (32 Bit) _WD_Startup: Params: --port=9515 --verbose --log-path="O:\Autoit\Chromedriver Webdriver Tester\chrome.log" _WD_Startup: Port: 9515 _WD_Startup: Command: "chromedriver.exe" --port=9515 --verbose --log-path="O:\\Autoit\Chromedriver Webdriver Tester\chrome.log" _WD_Startup ==> Success [0] _WD_CapabilitiesAdd ==> Success [0] : Successfully used [alwaysMatch] with specified browser: chrome _WD_CapabilitiesAdd ==> Success [0] : Successfully added capability _WD_CapabilitiesAdd ==> Success [0] : Successfully added capability __WD_Post ==> Success [0] : HTTP status = 200 _WD_CreateSession ==> Success [0] : cd526b06af4653b13ef84e7d0f493b61 __WD_Post ==> Success [0] : HTTP status = 200 _WD_Window ==> Success [0] : Parameters: Command=maximize Option=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_Navigate ==> Success [0] : Parameters: URL=https://ordermanager.tecalliance.net/newapp/auth/login _WD_LoadWait ==> Success [0 / 4] : Parameters: Delay=1000 Timeout=Default Element=Default DesiredState=complete : ReadyState= complete (Fully loaded) __WD_Post ==> Success [0] : HTTP status = 200 _WD_FindElement ==> Success [0] : Parameters: Strategy=xpath Selector=//*[@class='mat-button-wrapper'] StartNodeID=Default Multiple=Default ShadowRoot=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_ElementAction ==> Success [0] : Parameters: Command=click Option=Default _WD_WaitElement ==> Success [0] : Parameters: Strategy=xpath Selector=//*[@class='mat-focus-indicator log-in-button mat-raised-button mat-button-base'] Delay=100 Timeout=50000 Options=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_FindElement ==> Success [0] : Parameters: Strategy=xpath Selector=//*[@class='mat-focus-indicator log-in-button mat-raised-button mat-button-base'] StartNodeID=Default Multiple=Default ShadowRoot=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_ElementAction ==> Success [0] : Parameters: Command=click Option=Default _WD_WaitElement ==> Success [0] : Parameters: Strategy=xpath Selector=//input[@id="input28"] Delay=100 Timeout=30000 Options=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_FindElement ==> Success [0] : Parameters: Strategy=xpath Selector=//input[@id="input28"] StartNodeID=Default Multiple=Default ShadowRoot=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_ElementAction ==> Success [0] : Parameters: Command=value Option=<masked> __WD_Post ==> Success [0] : HTTP status = 200 _WD_FindElement ==> Success [0] : Parameters: Strategy=xpath Selector=//*[@class='button button-primary'] StartNodeID=Default Multiple=Default ShadowRoot=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_ElementAction ==> Success [0] : Parameters: Command=click Option=Default +>11:19:39 AutoIt3.exe ended.rc:0 +>11:19:39 AutoIt3Wrapper Finished. >Exit code: 0 Time: 15.4 ;Script with WRONG results _WD_Startup: OS: WIN_10 X64 19045 _WD_Startup: AutoIt: 3.3.16.1 _WD_Startup: Webdriver UDF: 1.3.1 (Update available) _WD_Startup: WinHTTP: 1.6.4.2 _WD_Startup: Driver: chromedriver.exe (32 Bit) _WD_Startup: Params: --port=9515 --verbose --log-path="O:\Autoit\Chromedriver Webdriver Tester\chrome.log" _WD_Startup: Port: 9515 _WD_Startup: Command: "chromedriver.exe" --port=9515 --verbose --log-path="O:\Autoit\Chromedriver Webdriver Tester\chrome.log" _WD_Startup ==> Success [0] _WD_CapabilitiesAdd ==> Success [0] : Successfully used [alwaysMatch] with specified browser: chrome _WD_CapabilitiesAdd ==> Success [0] : Successfully added capability _WD_CapabilitiesAdd ==> Success [0] : Successfully added capability __WD_Post ==> Success [0] : HTTP status = 200 _WD_CreateSession ==> Success [0] : 4fec888636b28ef675e1b0703e494bfa __WD_Post ==> Success [0] : HTTP status = 200 _WD_Window ==> Success [0] : Parameters: Command=maximize Option=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_Navigate ==> Success [0] : Parameters: URL=https://ordermanager.tecalliance.net/newapp/auth/login _WD_LoadWait ==> Success [0 / 4] : Parameters: Delay=1000 Timeout=Default Element=Default DesiredState=complete : ReadyState= complete (Fully loaded) __WD_Post ==> Success [0] : HTTP status = 200 _WD_FindElement ==> Success [0] : Parameters: Strategy=xpath Selector=//*[@class='mat-button-wrapper'] StartNodeID=Default Multiple=Default ShadowRoot=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_ElementAction ==> Success [0] : Parameters: Command=click Option=Default _WD_WaitElement ==> Success [0] : Parameters: Strategy=xpath Selector=//*[@class='mat-focus-indicator log-in-button mat-raised-button mat-button-base'] Delay=100 Timeout=50000 Options=Default __WD_Post ==> Success [0] : HTTP status = 200 _WD_FindElement ==> Success [0] : Parameters: Strategy=xpath Selector=//*[@class='mat-focus-indicator log-in-button mat-raised-button mat-button-base'] StartNodeID=Default Multiple=Default ShadowRoot=Default __WD_Post ==> Element interaction issue [14] : HTTP status = 400 _WD_ElementAction ==> Element interaction issue [14] : Parameters: Command=click Option=Default +>11:18:22 AutoIt3.exe ended.rc:0 +>11:18:22 AutoIt3Wrapper Finished. >Exit code: 0 Time: 18.56
  12. In the first post the IF tests for @error and the select case for the Returned value by the function.... which arent the same!
  13. ConsoleWrite("This " & @CRLF) Switch @error Case 0 ConsoleWrite("works" & @CRLF) Case Else ConsoleWrite("fails" & @CRLF) EndSwitch
  14. Melba23, Thanks for the "heads-up"...appreciated! A question, "Is the text in SplashTextOn always "centred"?
  15. Good dya, I have been able to get this snippet to work... ; ----------------------------------------------- ; With the assistance of...and the gratitude of...ioa747! ; Date: September 15th, 2024 ; ----------------------------------------------- #include <FileConstants.au3> ; ----------------------------------------------- Opt("MustDeclareVars", 1) ; ----------------------------------------------- _CheckRegKeys() ; ----------------------------------------------- Func _CheckRegKeys() ; Source data Local $sKeyname[3] = [2] $sKeyname[1] = "HKEY_CURRENT_USER\Software\FabFilter" $sKeyname[2] = "HKEY_LOCAL_MACHINE\SOFTWARE\FabFilter" ; ----------------------------------------------- Local $sMessage = "Verify Registry Keys data..." & @CRLF & @CRLF ; ----------------------------------------------- For $i = 1 To $sKeyname[0] Local $Result = RegRead($sKeyname[$i], "") If @error = 1 Then $Result = "The registry key [" & $sKeyname[$i] & "] does not exist!" Else $Result = "The registry key [" & $sKeyname[$i] & "] does exist!" EndIf ; ----------------- $sMessage &= $Result & @CRLF Next ; ----------------------------------------------- $sMessage &= @CRLF & "Verify Registry Keys data completed..." & @CRLF ; ----------------------------------------------- SplashTextOn("NOTICE!!", $sMessage, 675, 157, -1, -1, 4, "FuturaBQ-DemiBold", 14) Sleep(3000) SplashOff() EndFunc ;==>_CheckRegKeys ; ----------------------------------------------- ...sooooo, maybe...all is Okay?!?
  16. Hi @habsi; welcome to the forum. In the CodeCrypter FAQ pdf (part of the bundle) you'll find an extensive description how to identify and fix issues. For example, have you tested that a BackTranslated version of your script (instead of an encrypted one) does work? If obfuscation is enabled, does the issue persist when this is disabled? If your script is larger than, say, fifty lines, then you should first create the smallest-possible reproducer test script (throw out all code that has nothing to do with the error and/or the targeted object), and test that script instead. If you then still can't figure out what's going wrong, then you could post that tiny reproducer script (which has to run in Scite without external dependencies) in this thread (please use the "<>" code tags) for me to have a look at. Be aware though of what the Codecrypter FAQ states regarding CodeCrypting objects:
  17. mr-es335, Use my StringSize UDF (link in my sig) to get the width and height of the text you wish to display. M23
  18. Good day, Most of my scripts employ "Switch|Case"...however the following appears to only work as an "If|Then". ; ----------------------------------------------- ; Example4a _DoesRegKeyExist() ; ----------------------------------------------- Func _DoesRegKeyExist() Local $sKeyname = "HKEY_CURRENT_USER\Software\FabFilter" ; ----------------------------------------------- RegRead($sKeyname, "") ; ----------------- If @error = 1 Then SplashTextOn("NOTICE!!", "The registry key " & $sKeyname & " does not exist!", 800, 50, -1, -1) Sleep(3000) SplashOff() Else SplashTextOn("NOTICE!!", "The registry key " & $sKeyname & " does exist!", 800, 50, -1, -1) Sleep(3000) SplashOff() EndIf EndFunc ;==>_DoesRegKeyExist ; ----------------------------------------------- Is there any way in which to get the above to work with "Switch|Case"? For example: ; ----------------------------------------------- ; Example4b _DoesRegKeyExist() ; ----------------------------------------------- Func _DoesRegKeyExist() Local $sKeyname = "HKEY_CURRENT_USER\Software\FabFilter" ; ----------------------------------------------- Local $Result = RegRead($sKeyname, "") ; ----------------- Switch $Result Case 0 $Result = "The Registry Keys data...[" & $sKeyname & "]...does not exist!" Case 1 $Result = "The Registry Keys data...[" & $sKeyname & "]...does exist!" EndSwitch EndFunc ;==>_DoesRegKeyExist ; ----------------------------------------------- Please advise...and thank you for your time.
  19. Thank you TheXman and pixelsearch, outstanding work! I marked that as the solution.
  20. Good day, I deploy many SplashTextOn commands in my scripts and it would be nice to have the ability to dynamically adjust for the width [...and the height as well, if at all possible...]. Any thoughts, suggestions? Thanks in advance...appreciated!
  21. What's New in Version v2.2.0 Released September 27, 2024 Fixed a bug in the internal function __CryptoNG_IsKeyBitLengthValid() where it was possible for some valid key lengths to be reported as invalid. This would only occur for the few encryption algorithms that can only have 1 key length, like 3DES. Thanks @konya for reporting the bug. Removed the trailing CRLF from _CryptoNG_CryptBinaryToString() results. By default, the Win32 API (CryptBinaryToStringW) appends a CRLF to all results. Replaced all references to GCM "Authorization" tag to the correct name, "Authentication" tag. This was purely a documentation issue in the help file and function headers.
  22. @Danp2I will try to do that as soon as possible. For now, I have been able to capture (copy/paste) the Scite Output from both events. And I want to analyse those with a text diff tool.... later today.
  23. @konya Thanks for posting the example. I was wrong, there is one condition where the increment field should be 0. That's when the key can only be one length, like for DES and 3DES. For 3DES, the key length can only be 192 bits (24 bytes). So you were right about the Mod function being the issue. It should not have tried to execute the Mod() function with a divisor of zero (the increment field). Very nice catch! I will make the appropriate modification and post the updated later today. Thank you for bring the issue to my attention.
  24. I want to automate the login process. Your link seems like a very nice shortcut to this🙂 I will have a look, if I can implement this. Besides that it still gnaws at me (Dutch: het knaagt aan me) that running the script multiple times results in diffirent outcomes. So I would love the learn what I am overlooking😁
  25. Hello jemboy, will you automate the login process or registration process? for the Login, i think you can take the following URL: https://login.tecalliance.net Greetings, Marcel
  26. My recommendation is to run the script with $_WD_DEBUG_Full, and then share the output from a failed run of the script.
  1. Load more activity
×
×
  • Create New...