Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/13/2021 in all areas

  1. What's New in Version v1.8.0 v1.8.0 (2021-04-12) Added asymmetric (public/private key) RSA encryption/decryption functions _CryptoNG_RSA_EncryptData _CryptoNG_RSA_DecryptData Modified _CryptoNG_CreateRSAKeyPair to be able to select the export format (CryptoAPI-Compatible/LEGACY or RSA) Added create_legacy_rsa_key_pair_example to the CryptoNG_Examples.au3 file Added rsa_public_private_key_encrypt_decrypt_data_example to the example file Updated the help file to reflect the modifications above (including new constants). Thanks @IanN1990 for asking the question that lead to me to adding the asymmetric encryption/decryption functions.
    3 points
  2. Hi @Marlon13, In general, each new webdriver session is started with a completely new profile. It's possible to override this behavior and use an existing profile. See the FAQ section of the wiki for details. Regards, Dan
    2 points
  3. What's New in Version v1.8.5 v1.8.5 (2021-04-13) SCRIPT-BREAKING CHANGE Changed function name from _CryptoNG_CreateRSAKeyPair to _CryptoNG_RSA_CreateKeyPair to match naming naming standards. Updated CryptoNG_Examples.au3 to reflect name change. Updated the help file to reflect name change.
    2 points
  4. @Jakew626 We generally frown on any kind of game automation in this forum, as stated in our forum rules. Please read them and ensure you are following them. For the time being, I will let the thread run so long as it keeps to this general subject only: If it delves into anything game related, it will be locked. Also, to the person that reported the thread, please review the following posts/threads. It is not your job to "draw it out of" anyone. If you believe a thread is questionable, then report it and move on, please. 1. 2.
    2 points
  5. Encryption / Decryption / Hashing / Signing Purpose Cryptography API: Next Generation (CNG) is Microsoft's long-term replacement for their CryptoAPI. Microsoft's CNG is designed to be extensible at many levels and cryptography agnostic in behavior. Although the Crypt.au3 UDF lib that is installed with AutoIt3 still works well, the advapi32.dll functions that it uses have been deprecated. In addition the Crypt.au3 UDF lib, as it is currently written, has a very limited ability to decrypt AES data that was not encrypted using Crypt.au3 functions. That is because Crypt.au3 functions do not allow you to specify an actual key or initialization vector (IV). It only lets you specify data to be used to derive a key and uses a static IV. This UDF was created to offer a replacement for the deprecated functions used by Crypt.au3. According to Microsoft, deprecated functions may be removed in future release. It was also created to allow more flexibility and functionality in encryption/decryption/hashing/signing and to expand the ability for users to implement cryptography in their scripts. Description This UDF implements some of Microsoft's Cryptography API: Next Generation (CNG) Win32 API functions. It implements functions to encrypt/decrypt text and files, generate hashes, derive keys using Password-Based Key Derivation Function 2 (PBKDF2), create and verify signatures, and has several cryptography-related helper functions. The UDF can implement any encryption/decryption algorithms and hashing algorithms that are supported by the installed cryptography providers on the PC in which it is running. Most, if not all, of the "magic number" values that you would commonly use to specify that desired algorithms, key bit lengths, and other magic number type values, are already defined as constants or enums in the UDF file. To flatten the learning curve, there is an example file that shows examples of all of the major functionality. This example file is not created to be an exhaustive set of how to implement each feature and parameter. It is designed to give you a template or guide to help you hit the ground running in terms of using the functions. I have tried to fully document the headers of all of the functions as well as the code within the functions themselves. As of v1.4.0, there is also a Help file that includes all of the functions, with examples. Current UDF Functions Algorithm-Specific Symmetric Encryption/Decryption Functions _CryptoNG_AES_CBC_EncryptData _CryptoNG_AES_CBC_DecryptData _CryptoNG_AES_CBC_EncryptFile _CryptoNG_AES_CBC_DecryptFile _CryptoNG_AES_ECB_EncryptData _CryptoNG_AES_ECB_DecryptData _CryptoNG_AES_GCM_EncryptData _CryptoNG_AES_GCM_DecryptData _CryptoNG_3DES_CBC_EncryptData _CryptoNG_3DES_CBC_DecryptData _CryptoNG_3DES_CBC_EncryptFile _CryptoNG_3DES_CBC_DecryptFile Generic Symmetric Encryption/Decryption Functions _CryptoNG_EncryptData _CryptoNG_DecryptData _CryptoNG_EncryptFile _CryptoNG_DecryptFile Hashing Functions _CryptoNG_HashData _CryptoNG_HashFile _CryptoNG_PBKDF2 Asymmetric (Public/Private Key) Cryptography Functions _CryptoNG_ECDSA_CreateKeyPair _CryptoNG_ECDSA_SignHash _CryptoNG_ECDSA_VerifySignature _CryptoNG_RSA_CreateKeyPair _CryptoNG_RSA_CreateKeyPairEx _CryptoNG_RSA_EncryptData _CryptoNG_RSA_DecryptData _CryptoNG_RSA_SignHash _CryptoNG_RSA_VerifySignature Misc / Helper Functions _CryptoNG_CryptBinaryToString _CryptoNG_CryptStringToBinary _CryptoNG_GenerateRandom _CryptoNG_EnumAlgorithms _CryptoNG_EnumRegisteredProviders _CryptoNG_EnumKeyStorageProviders _CryptoNG_LastErrorMessage _CryptoNG_Version Related Links Cryptography API: Next Generation - Main Page Cryptography API: Next Generation - Reference Cryptography API: Next Generation - Primitives Cryptography API: Next Generation - Cryptographic Algorithm Providers Get CryptoNG from the AutoIt Downloads Area
    1 point
  6. Version v2.4.0

    1,586 downloads

    Encryption / Decryption / Hashing / Signing Purpose Cryptography API: Next Generation (CNG) is Microsoft's long-term replacement for their CryptoAPI. Microsoft's CNG is designed to be extensible at many levels and cryptography agnostic in behavior. Although the Crypt.au3 UDF lib that is installed with AutoIt3 still works well, the advapi32.dll functions that it uses have been deprecated. In addition the Crypt.au3 UDF lib, as it is currently written, has a very limited ability to decrypt AES data that was not encrypted using Crypt.au3 functions. That is because Crypt.au3 functions do not allow you to specify an actual key or initialization vector (IV). It only lets you specify data to be used to derive a key and uses a static IV. This UDF was created to offer a replacement for the deprecated functions used by Crypt.au3. According to Microsoft, deprecated functions may be removed in future release. It was also created to allow more flexibility and functionality in encryption/decryption/hashing/signing and to expand the ability for users to implement cryptography in their scripts. Description This UDF implements some of Microsoft's Cryptography API: Next Generation (CNG) Win32 API functions. It implements functions to encrypt/decrypt text and files, generate hashes, derive keys using Password-Based Key Derivation Function 2 (PBKDF2), create and verify signatures, and has several cryptography-related helper functions. The UDF can implement any encryption/decryption algorithms and hashing algorithms that are supported by the installed cryptography providers on the PC in which it is running. Most, if not all, of the "magic number" values that you would commonly use to specify that desired algorithms, key bit lengths, and other magic number type values, are already defined as constants or enums in the UDF file. To flatten the learning curve, there is an example file that shows examples of all of the major functionality. This example file is not created to be an exhaustive set of how to implement each feature and parameter. It is designed to give you a template or guide to help you hit the ground running in terms of using the functions. I have tried to fully document the headers of all of the functions as well as the code within the functions themselves. As of v1.4.0, there is also a Help file that includes all of the functions, with examples. Current UDF Functions Algorithm-Specific Symmetric Encryption/Decryption Functions _CryptoNG_AES_CBC_EncryptData _CryptoNG_AES_CBC_DecryptData _CryptoNG_AES_CBC_EncryptFile _CryptoNG_AES_CBC_DecryptFile _CryptoNG_AES_ECB_EncryptData _CryptoNG_AES_ECB_DecryptData _CryptoNG_AES_GCM_EncryptData _CryptoNG_AES_GCM_DecryptData _CryptoNG_3DES_CBC_EncryptData _CryptoNG_3DES_CBC_DecryptData _CryptoNG_3DES_CBC_EncryptFile _CryptoNG_3DES_CBC_DecryptFile Generic Symmetric Encryption/Decryption Functions _CryptoNG_EncryptData _CryptoNG_DecryptData _CryptoNG_EncryptFile _CryptoNG_DecryptFile Hashing Functions _CryptoNG_HashData _CryptoNG_HashFile _CryptoNG_PBKDF2 Asymmetric (Public/Private Key) Cryptography Functions _CryptoNG_ECDSA_CreateKeyPair _CryptoNG_ECDSA_SignHash _CryptoNG_ECDSA_VerifySignature _CryptoNG_RSA_CreateKeyPair _CryptoNG_RSA_CreateKeyPairEx _CryptoNG_RSA_EncryptData _CryptoNG_RSA_DecryptData _CryptoNG_RSA_SignHash _CryptoNG_RSA_VerifySignature Misc / Helper Functions _CryptoNG_CryptBinaryToString _CryptoNG_CryptStringToBinary _CryptoNG_GenerateRandom _CryptoNG_EnumAlgorithms _CryptoNG_EnumRegisteredProviders _CryptoNG_EnumKeyStorageProviders _CryptoNG_LastErrorMessage _CryptoNG_Version Related Links Cryptography API: Next Generation - Main Page Cryptography API: Next Generation - Reference Cryptography API: Next Generation - Primitives Cryptography API: Next Generation - Cryptographic Algorithm Providers
    1 point
  7. [New VERSION] - 11 Dec 24 Added: New function _GUIListViewEx_EditProcessActive which returns the handle of the ListView concerned if an element is being edited. Usage scenario: prevent HotKeys from working when editing is underway. Fixed: A couple of bugs with columns: added columns were automatically sortable; dragging columns meant editing pop-up could appear in wrong place. Thanks to ValentinM for the reports. New UDF in the zip below. -------------------------------------------------------------------------------------- Note: This is a new recoded and expanded version of my earlier UDF of the same name. If you move to this new version there might well be several script-breaking changes, particularly when setting which columns are to be editable. Please read the "Beginner's Guide" and look at the included example scripts to see where things have changed. -------------------------------------------------------------------------------------- This UDF allows you to do much more with ListView controls (either native or UDF created): Edit the content with plain text, combos or date-time pickers - and edit the headers too Move rows within the ListView Drag rows both within the ListView and to other ListViews in the same GUI (or not as required) Insert and delete columns and rows Sort columns by simply clicking the header Colour individual ListView items and headers Only select a single cell rather then the entire row Save and load entire ListViews For the advanced user: If you use certain Windows message handlers (In particular WM_NOTIFY) in your script, please read the function headers for the equivalent handlers within the UDF. Here is the UDF, with 6 examples and the guide, in zip format: GUIListViewEx.zip Credit to: martin (basic drag code), Array.au3 authors (array functions), KaFu and ProgAndy (font function), LarsJ (colouring code) Happy to take compliments or criticism - preferably the former! M23
    1 point
  8. @argumentum Thanks for this. Now that I see it, it makes more sense than what I had.
    1 point
  9. ..or: #RequireAdmin #include <GUIConstantsEx.au3> #include <AutoItConstants.au3> #include <EditConstants.au3> Example() Func ComputerInfo() ;Get Serial Number $wmiSN = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command $wmiSN = (Get-WmiObject win32_bios).SerialNumber; $wmiSN", @ScriptDir, @SW_HIDE, $STDERR_MERGED) ;Get Vendor $wmiVENDOR = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command $wmiVENDOR = (Get-WMIObject Win32_ComputerSystemProduct).Vendor; $wmiVENDOR", @ScriptDir, @SW_HIDE, $STDERR_MERGED) ;Get Model $cimMODEL = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command $cimMODEL = (Get-CimInstance Win32_ComputerSystem).Model; $cimMODEL", @ScriptDir, @SW_HIDE, $STDERR_MERGED) ;Get Caption $cimCAPTION = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command $cimCAPTION = (Get-CimInstance Win32_OperatingSystem).Caption; $cimCAPTION", @ScriptDir, @SW_HIDE, $STDERR_MERGED) ;Get Arch $cimARCH = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command $cimARCH = (Get-CimInstance Win32_OperatingSystem).OSArchitecture; $cimARCH", @ScriptDir, @SW_HIDE, $STDERR_MERGED) ;Get Version $cimVERSION = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command $cimVERSION = (Get-CimInstance Win32_OperatingSystem).Version; $cimVERSION", @ScriptDir, @SW_HIDE, $STDERR_MERGED) ;;; tha hack ProcessWaitClose($wmiSN) Global $wmiSN2 = StdoutRead($wmiSN) ProcessWaitClose($wmiVENDOR) Global $wmiVENDOR2 = StdoutRead($wmiVENDOR) ProcessWaitClose($cimMODEL) Global $cimMODEL2 = StdoutRead($cimMODEL) ProcessWaitClose($cimCAPTION) Global $cimCAPTION2 = StdoutRead($cimCAPTION) ProcessWaitClose($cimARCH) Global $cimARCH2 = StdoutRead($cimARCH) ProcessWaitClose($cimVERSION) Global $cimVERSION2 = StdoutRead($cimVERSION) EndFunc Func Example() ; Create a GUI with various controls. Local $hTimer = TimerInit(), $hGUI = GUICreate("Example") Local $idOK = GUICtrlCreateButton("OK", 310, 370, 85, 25) GUICtrlCreateGraphic(0,0,400,55, 0) GUICtrlSetBkColor(-1, 0x660000) GUICtrlCreateGraphic(0,2,400,2, 0) GUICtrlSetBkColor(-1, 0xF4AA00) GUICtrlCreateGraphic(0,51,400,2, 0) GUICtrlSetBkColor(-1, 0xF4AA00) ; Display the GUI. GUISetState(@SW_SHOW, $hGUI) ComputerInfo() GUICtrlCreateInput("OS Version: " & $cimCAPTION2 & " (" & $cimARCH2 & "), " & $cimVERSION2, 5, 5, 390, 15, BitOR($ES_READONLY, $ES_LEFT), 0) GUICtrlSetBkColor(-1, 0x660000) GUICtrlSetColor (-1, 0xFFFFFF) GUICtrlSetFont(-1, 8.5, 800, 0) Opt("GUICoordMode", 0) GUICtrlCreateInput("Model: " & $cimMODEL2 & ", " & $wmiVENDOR2, 0, 15, 390, 15, BitOR($ES_READONLY, $ES_LEFT), 0) GUICtrlSetBkColor(-1, 0x660000) GUICtrlSetColor (-1, 0xFFFFFF) GUICtrlSetFont(-1, 8.5, 800, 0) GUICtrlCreateInput("Serial Number: " & $wmiSN2, 0, 15, 390, 15, BitOR($ES_READONLY, $ES_LEFT), 0) GUICtrlSetBkColor(-1, 0x660000) GUICtrlSetColor (-1, 0xFFFFFF) GUICtrlSetFont(-1, 8.5, 800, 0) Opt("GUICoordMode", 1) GUICtrlCreateInput("Time to load: " & Round(TimerDiff($hTimer)) & " ms.", 10, 115, 390, 15, BitOR($ES_READONLY, $ES_LEFT), 0) ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idOK ExitLoop EndSwitch WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI) EndFunc ;==>Example your code takes 5 sec., mine 1 sec. , so I guess 1 sec is good enough. Or load the gui first and fill the controls as data come in
    1 point
  10. Edit option shows up only when you have 5 or more posts.
    1 point
  11. You can't grab the send event the same way you grab a newmail event. The following script modifies the subject of a mail before sending: #include <OutlookEX.au3> ; ***************************************************************************** ; Example Script ; Handle Outlook event when a new item is being sent. ; This example script checks for mail items and changes the subject before the mail is ; being sent. ; This script loops until Shift-Alt-E is pressed to exit. ; ***************************************************************************** HotKeySet("+!e", "_Exit") ;Shift-Alt-E to Exit the script MsgBox(64, "OutlookEX UDF Example Script", "Hotkey to exit the script: 'Shift-Alt-E'!") Global $oOL = _OL_Open() Global $oEvent = ObjEvent($oOL, "_oItems_") While 1 Sleep(50) WEnd ; ItemSend event - https://docs.microsoft.com/en-us/office/vba/api/outlook.application.itemsend Volatile Func _oItems_ItemSend($oItem, $bCancel) #forceref $bCancel $bCancel = False ; If you do not want to send the item then set $bCancel to True If $oItem.Class = $olMail Then $oItem.Subject = "Modified by AutoIt script: " & $oItem.Subject $oItem.Save() EndIf EndFunc ;==>oItems_ItemSend Func _Exit() Exit EndFunc ;==>_Exit
    1 point
  12. seadoggie01

    How to click on afxwnd?

    ControlClick("Title or Hwnd", "Text", $iControlID, "Mouse button", $iClickCount, $iXPosControl, $iYPosControl) Note the number of parameters here. 1 is not a valid mouse button. Please see the help file Use Au3Info to get the Control ID information. If it doesn't show a value, then you'll need to use UI Automation.
    1 point
  13. as to your code Why do you use brackets in this part: Local $Ref= ($a_Locations[$i_row_idx][$_COMMONNAME_C0_externalID]) I mean instead such form: Local $Ref= $a_Locations[$i_row_idx][$_COMMONNAME_C0_externalID] ?
    1 point
  14. @PnD please read: https://www.autoitscript.com/wiki/Forum_FAQ#How_can_I_edit_my_post_on_the_forum_.3F and: * How to post code on the forum * and modify your previous post accordingly.
    1 point
  15. @PnD to forum. Why to assign variables at all ? Did you found what Enum are for ? _Example() Func _Example() Local Enum _ $_COMMONNAME_C0_externalID, _ $_COMMONNAME_C1_locationName, _ $_COMMONNAME_C2_steet1, _ $_COMMONNAME_C3_city, _ $_COMMONNAME_MAX Local $a_Locations = _EzMySql_GetTable2d("select externalID,locationName,street1,city from orders where Id ='1113602'") _ArrayDisplay($a_Locations) For $i_row_idx =1 To UBound($a_Locations) -1 If StringInStr($a_Locations[$i_row_idx][$_COMMONNAME_C1_locationName], 'Christopher') Then ConsoleWrite($a_Locations[$i_row_idx][$_COMMONNAME_C0_externalID] & @CRLF) ConsoleWrite($a_Locations[$i_row_idx][$_COMMONNAME_C1_locationName] & @CRLF) ConsoleWrite($a_Locations[$i_row_idx][$_COMMONNAME_C2_steet1] & @CRLF) ConsoleWrite($a_Locations[$i_row_idx][$_COMMONNAME_C3_city] & @CRLF) EndIf Next EndFunc
    1 point
  16. Wow you did it! And you also coded it so easy to understand that i can really learn from it, as someone with no cryptography knowledge. Thanks for realizing RSA in Autoit! i was searching seemingly endlessly. Thanks man!
    1 point
  17. But the real question is why do you need to assign array result to simple variables ? I do not think it is necessary as you can access to individual cell by specifying its indexes. Make sure you understand arrays before spending lots of time creating variables uselessly.
    1 point
  18. Hi PnD, I would go on something like this : $result = _EzMySql_GetTable2d("select externalID,locationName,street1,city from orders where Id ='1113602'") Local $iRet = _ArrayDisplay($result) If $iRet And Ubound($result) > 1 Then Local $Ref = $result[1][0] Local $Euname = $result[1][1] Local $street = $result[1][2] Local $city = $result[1][3] EndIf Maybe also check the Array got 2 dimensions and 4 columns (in case you won't always use _ArrayDisplay)
    1 point
  19. Sorry, been under a crunch to get the application working and haven't had a chance to follow up on this. I added some FileWrite lines and figured out what was going on with my script, so I didn't need to get the debugger working for AutoIT3 Beta. Next time I will take the time to strip down the code to submit, but I'm guessing the stripped down version won't have the problem. Thanks for the response.
    1 point
  20. nwbyy

    Create cancel button

    Thank you very much! I tried again to fix my own code with no success so far. Shame on me 🙂 I will take the easy way this time and use argumentum's code. Works perfectly.
    1 point
  21. ...I'm in a hurry right now, so, ....try this: Send( Alt-A ) then send the letter that is underlined in Print when you press the alt key. If that works then I guess thats that
    1 point
  22. I wonder if number of lines of code implementing About box finally will not be much bigger than whole main project (without About box) ...
    1 point
  23. ...and reading SetError() it'll show, Related SetExtended(). So no need to change that. I always tell new users to do the katas. A kata in AutoIt is go to the help file and run the examples. Copy the example elsewhere and do modifications. Doing so will give you great knowledge Can't read up on a theme and become proficient. Users have to get dirty and read other ppl code and take the time to try and think. As a wise person stated: "thinking does not hurt, ... but it takes time"
    1 point
  24. Func oops() Return SetError(23, 34, 45) EndFunc oops() Sleep(1) ConsoleWrite('+++ oops() returned @error = ' & @error & @TAB & '@extended = ' & @extended & @TAB) ConsoleWrite("@AutoItVersion = " & @AutoItVersion & @CRLF) Exit ;~ +++ oops() returned @error = 0 @extended = 0 @AutoItVersion = 3.2.0.1 ;~ +++ oops() returned @error = 0 @extended = 0 @AutoItVersion = 3.3.14.5 Functions in AutoIt are first class objects. Among other things, that means you can assign a function to a variable, pass it around as an argument or return from another function. Aside from certain specific scope-regarding declaration rules (being that the names of the built-in functions are reserved and of UDFs' can be overwritten only locally), the names of functions do not have special status in the language. Therefore, as stated in the "Function notes", UDF or not, all Functions(), build-in or not, will return @error and @extended. Even sleep(), unless clearly specify, as _WinAPI_GetLastError() does. The modification M23 suggest are in my mind clear. Tho I would mention the existence of SetError() and SetExtended() for functions in the "Function notes" Other than that, I feel is ok.
    1 point
  25. In FunctionNotes in this part: there is mentioned that: what about mention that for internal AutoIt functions also @extended is reset to 0 ? The information is only in SetExtended() which is for user-written functions. Would you give any suggestions ?
    1 point
  26. In "Macro Reference - AutoIt Related" Currently there is: I would like to propose to change them in this way:
    1 point
  27. I will follow your suggestions. I hope that you will follow my changes on the internal AutoIt SVN and correct my possible mistakes, not only linguistic ones mLipok
    1 point
  28. mLipok, My suggestion would be that you: 1. Amend the opening phrase of the "Remarks" sections of the SetError and SetExtended pages to read: 2. Amend the "Function Notes" page "Success/failure indication" heading to read: 3. Add a final paragraph to the "Function Notes" page: How does that sound? M23
    1 point
  29. So @Melba23 I want to ask you (as a natvie English speaker and one of the most experienced AutoIt programer) is this following statement: Correct and is more complex than this: ? or even ... Could you reword my quoted statement to fit your's level of knowledge and experience ? ps. @Melba23 I hope I'm not raising your blood pressure I just wanted to peacefully discuss some things that struck me as strange.
    1 point
  30. Yes I know. But "Function Notes" is a basic resource of knowing how functions work, we shouldn't go back or look elsewhere for references, for such basic thing like how @error behaves. This document itself should make this clear. Or at least that is my opinion in this regard. As to: I know that Internal/Native function also returns. but this statements For me as a non Native English speakers, this mean that the SetError() must be called to return @error <> 0 , and thus I state that it not cleary said about case when Native/Internal function is called. For me as an advanced AutoIt programer this is known fact how it works, and I exactly know what you mean. But as I said I was reading this part today, and I said to my self: Hence, my discussion on this thread, because I wanted someone less experienced, and at the same time a person who is not a native English speaker, to comment on this matter. Because for me as an experienced programmer, but still poor English speaker, such a record in the documentation seemed strange and at least not complete, all the more for people with less experience it will be strange or confusing. As this thread is called "Help File / Documentation Issues. (Discussion Only)" I wanted to ask and discuss if anyone else thinks similarly.
    1 point
  31. Where in helpfile is said that standard AutoIt functions clears @error ? I mean functions like Sleep() or MsgBox() ? I checked the Function Notes and I do not see exact statement which I'm looking for. Any body could point me to the proper statement ?
    1 point
  32. @TheXman n relation to signing PDF feauture which I was asking for: For this moment I found that from begining of 2021, Chilkat provide such feature. So I will work on my Chilkat.au3 UDF to achieve this goal ( signing PDF using PADES ). Thanks for your efforts. mLipok
    1 point
  33. Have you tried it without the quotes around the word True? If that doesn't work, then try to break the prefs string down further. Something like this -- $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"goog:chromeOptions": {"w3c": true , "prefs": {"download":{"prompt_for_download": true, "default_directory": "C:\\TEMP\\"}}}}}}'
    1 point
  34. dushkin, Try this: #include <WindowsConstants.au3> #include "SendMessage.au3" #Include <GuiMenu.au3> Global $sCurr_Text While 1 If WinExists("[CLASS:#32768]") Then $hWnd = WinGetHandle("[CLASS:#32768]") $hMenu = _SendMessage($hWnd, $MN_GETHMENU, 0, 0) If _GUICtrlMenu_IsMenu($hMenu) Then $iCount = _GUICtrlMenu_GetItemCount($hMenu) For $j = 0 To $iCount - 1 If _GUICtrlMenu_GetItemHighlighted($hMenu, $j) Then $sText = _GUICtrlMenu_GetItemText($hMenu, $j) If $sText <> $sCurr_Text Then ConsoleWrite($sText & @CRLF) $sCurr_Text = $sText EndIf EndIf Next EndIf EndIf Sleep(10) WEnd It looks for a standard Windows popup and checks if it is a menu. It works perfectly on standard Windows context menus - let us hope that your ListView uses the API to produce its context menus. M23
    1 point
  35. 0 points
×
×
  • Create New...