Opened 6 months ago

Closed 6 months ago

#3959 closed Bug (Fixed)

_WinAPI_ShellUserAuthenticationDlg example not working

Reported by: Nine Owned by: Jpm
Milestone: Component: AutoIt
Version: Severity: None
Keywords: Cc:


As title says, example in help file is not working. Tested on Win10.

Attachments (0)

Change History (2)

comment:1 Changed 6 months ago by Jpm

True, I will update with

#include "Extras\HelpFileInternals.au3"

#include <Crypt.au3>
#include <Debug.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIDlg.au3>
#include <WinAPIRes.au3>

Local $sBmp = _Extras_PathFull('Authentication.bmp')
Local $hBitmap = _WinAPI_LoadImage(0, $sBmp, $IMAGE_BITMAP, 0, 0, $LR_LOADFROMFILE)
Local $aData[3] = ['', '', 0]

Local $sUser = 'AutoIt'
Local $sPassword = '123'

Local $sPasswordToCryptPassword = '1234'
Local $dPaswordEncrypted = StringEncrypt($sPassword, $sPasswordToCryptPassword)

While 1
	$aData = _WinAPI_ShellUserAuthenticationDlg('Authentication', 'To continue, type a login and password, and then click OK.', $aData[0], $aData[1], 'MyScript', BitOR($CREDUI_FLAGS_ALWAYS_SHOW_UI, $CREDUI_FLAGS_EXPECT_CONFIRMATION, $CREDUI_FLAGS_GENERIC_CREDENTIALS, $CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX), 0, $aData[2], $hBitmap)
	If @error Then Exit

	If StringCompare($aData[0], 'AutoIt') Or StringCompare($aData[1], StringDecrypt($dPaswordEncrypted, $sPasswordToCryptPassword)) Then
		If $aData[2] Then
			_WinAPI_ConfirmCredentials('MyScript', False)
		MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), 'Error', 'You have typed an incorrect login or password, it should be "' & $sUser & '" and "' & $sPassword & '".')
		If $aData[2] Then
			_WinAPI_ConfirmCredentials('MyScript', True)

Func StringEncrypt($sData, $sPassword)
	_Crypt_Startup() ; Start the Crypt library.
	Local $sReturn = _Crypt_EncryptData($sData, $sPassword, $CALG_RC4)
	_Crypt_Shutdown() ; Shutdown the Crypt library.
	Return $sReturn
EndFunc   ;==>StringEncrypt

Func StringDecrypt($sData, $dPassword)
	_Crypt_Startup() ; Start the Crypt library.
	Local $sReturn = BinaryToString(_Crypt_DecryptData($sData, $dPassword, $CALG_RC4))
	_Crypt_Shutdown() ; Shutdown the Crypt library.
	Return $sReturn
EndFunc   ;==>StringDecrypt

comment:2 Changed 6 months ago by Jpm

  • Milestone set to
  • Owner set to Jpm
  • Resolution set to Fixed
  • Status changed from new to closed

Fixed by revision [12992] in version:

Guidelines for posting comments:

  • You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
  • In-depth discussions should take place on the forum.

For more information see the full version of the ticket guidelines here.

Add Comment

Modify Ticket

as closed The owner will remain Jpm.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.