-
Posts
34 -
Joined
-
Last visited
Content Type
Forums
Downloads
Forum Articles
Events
Everything posted by Stormgrade
-
Thank you for your explanation I get it
-
Thank you for your help. Because I don't really understand how JSON_Parse work. Can I display a table/string from it to see which one is an array ?
-
Hello, I'd like to update the firefox handlers.json with this UDF but I get nothing. I'd tried it in different way without success. #include <JSON.au3> #include <Array.au3> $s_String = '{"defaultHandlersVersion":{"fr":3},"mimeTypes":{"application/pdf":{"action":2,"extensions":["pdf"],"handlers":[{"name":"AdobeAcrobat","path":"C:\\ProgramFiles\\Adobe\\AcrobatDC\\Acrobat\\Acrobat.exe"}]},"text/xml":{"action":0,"extensions":["xml"]},"image/svg+xml":{"action":0,"extensions":["svg"]},"image/webp":{"action":3,"extensions":["webp"]},"application/zip":{"action":0,"ask":false,"handlers":[{"name":"Explorer.exe","path":"C:\\WINDOWS\\Explorer.exe"}],"extensions":["zip"]},"application/x-7z-compressed":{"action":0,"ask":false,"extensions":["7z"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"action":4,"extensions":["pptx"]},"application/x-zip-compressed":{"action":0,"ask":false,"extensions":["7z","zip"]},"image/avif":{"action":3,"extensions":["avif"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"action":4,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"action":4,"extensions":["xlsx"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"action":4,"extensions":["xlsm"]},"application/msword":{"action":4,"extensions":["doc"]},"text/x-csv":{"action":4,"extensions":["csv"]},"application/vnd.ms-powerpoint":{"action":4,"extensions":["ppt"]}},"schemes":{"irc":{"stubEntry":true,"handlers":[null,{"name":"Mibbit","uriTemplate":"https://www.mibbit.com/?url=%s"}]},"ircs":{"stubEntry":true,"handlers":[null,{"name":"Mibbit","uriTemplate":"https://www.mibbit.com/?url=%s"}]},"mailto":{"stubEntry":true,"handlers":[null,{"name":"Yahoo!Mail","uriTemplate":"https://compose.mail.yahoo.com/?To=%s"},{"name":"Gmail","uriTemplate":"https://mail.google.com/mail/?extsrc=mailto&url=%s"}]},"zoommtg":{"action":4},"hidglobal-approve":{"action":4}},"isDownloadsImprovementsAlreadyMigrated":true,"isSVGXMLAlreadyMigrated":true}' $o_Object = _JSON_Parse($s_String) If @error Then ConsoleWrite($o_Object&" "&@error&@CRLF) $s_Type = _JSON_Get($o_Object, "[0].mimeTypes[0].application/pdf[0].extensions[0].handlers[0].name") ConsoleWrite("name: " & $s_Type & @CRLF) I want to update PDF path ,what did I do wrong ?
-
Thank you for your help it work 😀 Here the final script : #RequireAdmin #include <Array.au3> #include <File.au3> Global $LogFile = @ScriptDir & "\" & StringTrimRight(@ScriptName,4) & ".log" Global $ret = SmartCardEnergySaver(False) If @error Then _FileWriteLog($LogFile,$ret) Func SmartCardEnergySaver($bPower = True) Local $wbemFlagReturnImmediately = 0x10 Local $wbemFlagForwardOnly = 0x20 Local $wbemChangeFlagUpdateCompatible = 0x0 Local $colItems = "" Local $aDevices[1] ;Local $strPowerManagementCapabilities Local $count = 0 Local $errCount = 0 Local $DevicePath = "" Local $objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\ROOT\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity WHERE ClassGuid = '{50DD5230-BA8A-11D1-BF5D-0000F805F530}'", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) $aDevices[0] = $count If IsObj($colItems) then For $objItem In $colItems $count += 1 $aDevices[0] = $count _ArrayAdd($aDevices,$objItem.DeviceID) Next Else Return SetError(1,0,"No WMI Objects Found for class: " & "Win32_PnPEntity" ) Endif If $count = 0 Then Return SetError(2,0,"No result found") ;_ArrayDisplay($aDevices) $objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\ROOT\WMI") For $i = 1 To $aDevices[0] $DevicePath = StringReplace($aDevices[$i],"\","\\") & "_0" $colItems = $objWMIService.ExecQuery("SELECT * FROM MSPower_DeviceEnable WHERE InstanceName='"&$DevicePath&"'", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems If $objItem.Enable And Not $bPower Then $objItem.Enable = False $objItem.Put_($wbemChangeFlagUpdateCompatible) ElseIf Not $objItem.Enable And $bPower Then $objItem.Enable = True $objItem.Put_($wbemChangeFlagUpdateCompatible) Else ExitLoop EndIf Next Else $errCount += 1 Endif Next Return(1) EndFunc
-
I've tried like this without success : #RequireAdmin #include <Array.au3> ; Generated by AutoIt Scriptomatic Global $wbemFlagReturnImmediately = 0x10 Global $wbemFlagForwardOnly = 0x20 Global $wbemChangeFlagUpdateCompatible = 0x0 Global $colItems = "" Global $strComputer = "localhost" Global $aDevices[1] Global $strPowerManagementCapabilities Global $Output="" Global $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\ROOT\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity WHERE ClassGuid = '{50DD5230-BA8A-11D1-BF5D-0000F805F530}'", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) Global $i = 0 $aDevices[0] = $i If IsObj($colItems) then For $objItem In $colItems $i += 1 $aDevices[0] = $i _ArrayAdd($aDevices,$objItem.DeviceID) Next Endif ;_ArrayDisplay($aDevices) $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\ROOT\WMI") $colItems = $objWMIService.ExecQuery("SELECT * FROM MSPower_DeviceEnable WHERE InstanceName='USB\\VID_08E6&PID_3437\\CB066182_0'", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems If $objItem.Enable Then $objItem.Enable = False ; <= won't apply $objItem.Put($wbemChangeFlagUpdateCompatible) Else $Output = "enable: " & $objItem.Enable if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop EndIf Next Else Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_USBHub" ) Endif
-
With AutoIt you can query WMI datas but it's not possible to update values ? Are you sure about that ? Perhaps there is another method without convert this powershell code ? $PowerMgmt.psbase.Put()
-
Hello, Someone could help me please ?
-
Thank you for the tips on operator ==. Yes I've tried with #RequireAdmin, I've also compiled and run with elevated privilege without sucess. How to convert ? $PowerMgmt.psbase.Put()
-
Hello, I want to disable energy saver for smart card devices. So far I'm testing with this code, first I collect all devices name then I want to disable energy save for each one. #include <Array.au3> ; Generated by AutoIt Scriptomatic Global $wbemFlagReturnImmediately = 0x10 Global $wbemFlagForwardOnly = 0x20 Global $colItems = "" Global $strComputer = "localhost" Global $aDevices[1] Global $strPowerManagementCapabilities Global $Output="" Global $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\ROOT\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity WHERE ClassGuid = '{50DD5230-BA8A-11D1-BF5D-0000F805F530}'", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) Global $i = 0 $aDevices[0] = $i If IsObj($colItems) then For $objItem In $colItems $i += 1 $aDevices[0] = $i _ArrayAdd($aDevices,$objItem.DeviceID) Next Endif ;_ArrayDisplay($aDevices) $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\ROOT\WMI") $colItems = $objWMIService.ExecQuery("SELECT * FROM MSPower_DeviceEnable WHERE InstanceName='USB\\VID_08E6&PID_3437\\CB066182_0'", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems If $objItem.Enable == True Then $objItem.Enable = False ; <= won't apply Else $Output = "enable: " & $objItem.Enable if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop EndIf Next Else Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_USBHub" ) Endif Enable is read/write However this Powershell code work Get-WmiObject MSPower_DeviceEnable -Namespace root\wmi | Where {$_.InstanceName -LIKE 'USB\VID_08E6&PID_3437\CB066182_0'} $PowerMgmt = Get-WmiObject MSPower_DeviceEnable -Namespace root\wmi | Where {$_.InstanceName -LIKE 'USB\VID_08E6&PID_3437\CB066182_0'} $PowerMgmt.Enable = $False $PowerMgmt.psbase.Put() Can you help me to save change in WMI ?
-
Hello. I'm french, sorry for my english. I release my project, a password manager : Password Keeper First I would like to thanks Guinness and Melba23 for their help, and I'm very sorry for those I forget, please remind me to add you. Well my program manage and crypt passwords, first I understand if you don't trust me for this kind of sensible software, but I remember you that all the the source files are at your disposal, fell free to explore them. The login is : admin and you can change it later How it work ? see Methode de cryptage en BDD.pdf in french login The main interface You can obviously add,modify and delete your entry, also you can search with keywords A password generator is included I won't update it anymore. It's a BSD license. Autoit version : 3.3.14.5 Have a good day. Methode de cryptage en BDD.pdf Passwordkeeper.7z
-
Request UDF GDIpProgress.au3
Stormgrade replied to Stormgrade's topic in AutoIt GUI Help and Support
Thank you , I needed this to test -
Hello, I'm searching the UDF GDIpProgress.au3 from ProgAndy None of the links in topic works Can't someone upload it please ?
-
AutoIt Windows Screenshooter v1.84 Build 2019-08-18
Stormgrade replied to UEZ's topic in AutoIt Example Scripts
Great Work, thank you for sharing.- 129 replies
-
- screencapture
- gdi+
-
(and 3 more)
Tagged with:
-
_GDIPlus_MarkScreenRegionAnimated build 2020-08-07 beta
Stormgrade replied to UEZ's topic in AutoIt Example Scripts
Thank you for your quick reply, and thanks for the update, it work well ! -
_GDIPlus_MarkScreenRegionAnimated build 2020-08-07 beta
Stormgrade replied to UEZ's topic in AutoIt Example Scripts
Hello, Thank you for your example, I've tried to change the way it exit with hotkey and accelerators but I can't get it. I've tried with a hidden button too but it seem this part Switch GUIGetMsg() Case $GUI_EVENT_CLOSE If $bAnim Then GUIRegisterMsg($WM_TIMER, "") DllCall("user32.dll", "bool", "KillTimer", "hwnd", $__g_hGUI_MarkArea, "uint_ptr", $iID) GUIRegisterMsg($WM_ERASEBKGND, "") EndIf _GDIPlus_Shutdown() Local $aResult = WinGetPos($__g_hGUI_MarkArea) $aResult[2] = WinGetClientSize($__g_hGUI_MarkArea)[0] $aResult[3] = WinGetClientSize($__g_hGUI_MarkArea)[1] GUIDelete($__g_hGUI_MarkArea) GUIDelete($__g_hGUI_Bg) Return $aResult EndSwitch Doesn't want any more Case. Any idea for changing the way it exit , like pressing Enter key ? -
OutlookEX UDF - Help & Support (III)
Stormgrade replied to water's topic in AutoIt General Help and Support
Hello, Can I use this UDF to read my inbox mail from an Exchange server without Microsoft Outlook ?- 817 replies
-
Autoit-Socket-IO - Networking in AutoIt made simple!
Stormgrade replied to tarretarretarre's topic in AutoIt Example Scripts
Thanks I get it work : Server : #AutoIt3Wrapper_Change2CUI=Y #include ".\UDF\socketIO.au3" ;Start server Global $socket = _Io_Listen(8080) If Not @error Then ConsoleWrite("Listening on port 8080" & @CRLF) Else ConsoleWrite("Failed to open socket:" & @error & @CRLF) Exit EndIf _Io_on("join", ClientJoined) ;réaction a l'evenement "join" _Io_On("private message", Callback_PrivateMessage) ; Start main loop While _Io_Loop($socket) WEnd Func ClientJoined(ByRef $socket, $name) ConsoleWrite("Client joined: " & $name & @CRLF) EndFunc Func Callback_PrivateMessage(ByRef $socket, $to_ip , $message) ConsoleWrite("Private Message " & $message & " vers " & $to_ip & @CRLF) ; Get the person whos trying to send an private message Local $sender_ip = _Io_socketGetProperty($socket, "ip") ; Loop through each socket stored on server For $i = 1 To $__g_io_extended_sockets[0] ; Open the ExtendedSocket array Local $aExtendedSocket = $__g_io_extended_sockets[$i] ; Grab the socket Local $client_socket = $aExtendedSocket[0] ; Grab the ip Local $client_ip = $aExtendedSocket[1] ; Compare the ip that the client sent us (Also ignore dead sockets If $to_ip = $client_ip AND $__g_io_sockets[$i] <> Null Then ; Send _Io_Emit($client_socket, "private message", $sender_ip, $message) ; Remove this exitloop if you want continue search after the first result ExitLoop EndIf Next EndFunc client who send private message #include ".\UDF\socketIO.au3" #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> ; Its recommended to always use Gui events to remove the programs main focus from updating the GUI Opt("GUIOnEventMode", 1) Global $username = @UserName #Region ### START Koda GUI section ### Form= Global $Form1 = GUICreate("Form1", 272, 154, 636, 373) Global $Input1 = GUICtrlCreateInput("IP", 32, 16, 217, 21) Global $Input2 = GUICtrlCreateInput("Message", 32, 48, 217, 21) Global $Button1 = GUICtrlCreateButton("Button1", 88, 88, 97, 33) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### ; Connect to server Global $socket = _Io_Connect("192.168.1.10", 8080, True) If @error Then MsgBox(0,"Failed to open socket:",@error & @CRLF,5) Exit EndIf ; Register gui events GUICtrlSetOnEvent($Button1, "SendMessage") GUISetOnEvent($GUI_EVENT_CLOSE, "_quit") ; Notify server that we are here! _Io_Emit($socket, "join", $username);envoi au serveur l'evenement "join" qui indique que l'utilisateur est connecté ; Start main loop While _Io_Loop($socket) WEnd ; Gui functions Func SendMessage() ; Send message _Io_Emit($socket, "private message", GUICtrlRead($Input1) , GUICtrlRead($Input2)) ; Clear input GUICtrlSetData($Input2, "") EndFunc Func _quit() Exit EndFunc client who receive #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=n #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include ".\UDF\socketIO.au3" Global $aRet[2] ; Connect to server Global $socket = _Io_Connect("192.168.1.10", 8080, True) If @error Then MsgBox(0,"Failed to open socket:",@error & @CRLF,5) Exit EndIf _Io_On("private message", Callback_PrivateMessage) ; Notify server that we are here! _Io_Emit($socket, "join", @UserName & @CRLF) ; Start main loop While _Io_Loop($socket) WEnd Func Callback_PrivateMessage(ByRef $socket, $sender_ip, $message) MsgBox(0, "Private message from " & $sender_ip, $message) EndFunc -
Autoit-Socket-IO - Networking in AutoIt made simple!
Stormgrade replied to tarretarretarre's topic in AutoIt Example Scripts
Ok I made it : Serveur #AutoIt3Wrapper_Change2CUI=Y #include ".\UDF\socketIO.au3" ;Start server Global $socket = _Io_Listen(8080) If Not @error Then ConsoleWrite("Listening on port 8080" & @CRLF) Else ConsoleWrite("Failed to open socket:" & @error & @CRLF) Exit EndIf ; ------------- ; All events are registered here ; ------------- _Io_on("join", ClientJoined) _Io_on("message", Message) ; Start main loop While _Io_Loop($socket) WEnd Func Message(ByRef $socket, $name, $ip , $message) ; Transit message the message ;_Io_BroadcastToAll($socket, "message", $name, $message) _Io_BroadcastToAll($socket, $ip, $name & ": " & $message) ConsoleWrite($name & ": " & $message & @CRLF) EndFunc Func ClientJoined(ByRef $socket, $name) ConsoleWrite("Client joined: " & $name & @CRLF) EndFunc client 1 who send message to client 2 with the right ip #AutoIt3Wrapper_Change2CUI=Y #include ".\UDF\socketIO.au3" #include ".\UDF\Toast.au3" #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> ; Its recommended to always use Gui events to remove the programs main focus from updating the GUI Opt("GUIOnEventMode", 1) Global $username = @UserName #Region ### START Koda GUI section ### Form= Global $Form1 = GUICreate("Form1", 272, 154, 636, 373) Global $Input1 = GUICtrlCreateInput("IP", 32, 16, 217, 21) Global $Input2 = GUICtrlCreateInput("Message", 32, 48, 217, 21) Global $Button1 = GUICtrlCreateButton("Button1", 88, 88, 97, 33) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### ; Connect to server Global $socket = _Io_Connect(@IPAddress1, 8080, True) If @error Then ConsoleWrite("Failed to open socket:" & @error & @CRLF) Exit EndIf ; Register gui events GUICtrlSetOnEvent($Button1, "SendMessage") GUISetOnEvent($GUI_EVENT_CLOSE, "_quit") ; Notify server that we are here! _Io_Emit($socket, "join", $username) ; Start main loop While _Io_Loop($socket) WEnd ; Gui functions Func SendMessage() ; Send message _Io_Emit($socket, "message", $username , GUICtrlRead($Input1) , GUICtrlRead($Input2)) ; Clear input GUICtrlSetData($Input2, "") EndFunc Func _quit() Exit EndFunc client 2 #include ".\UDF\socketIO.au3" #include ".\UDF\Toast.au3" Global $aRet[2] ; Connect to server Global $socket = _Io_Connect("192.168.1.254", 8080, True) If @error Then ConsoleWrite("Failed to open socket:" & @error & @CRLF) Exit EndIf ; ------------- ; All events are registered here ; ------------- _Io_on("192.168.1.1", callback);ip client ; Start main loop While _Io_Loop($socket) WEnd Func callback(ByRef $socket, $message) ;MsgBox(0, "The Client", $message) $aRet = _Toast_Show(0, "Form client 1", $message, 5) _Toast_Hide() EndFunc ;==>callback_serverHasGreetedUs -
Autoit-Socket-IO - Networking in AutoIt made simple!
Stormgrade replied to tarretarretarre's topic in AutoIt Example Scripts
Hello, First thank you for your work, but I try to find out how to comunicate between client. I want to send a popup to another client. Any idea ? It seem the Broadcast method send to everyone. -
Hello, I want to use the "_ChangeScreenResEx()" UDF for changing my display settings from 1680*1050 to 1280*800. When I use it the display change to 1280*800 but with Intel Drivers, Scaling option change : Maintain display Scaling become Center Image. Here my Main program #include <.\_ChangeResolutionEx.au3> Global $Config = @ScriptDir & "\ChangeResolution.ini" Global $aSection = IniReadSectionNames($Config) Global $Moniteur,$Largeur,$Hauteur,$Profondeur,$Refresh for $i = 1 to $aSection[0] Step 1 $Moniteur = Number($i) $Largeur = Number(IniRead($Config,$i,"Width","1680")) $Hauteur = Number(IniRead($Config,$i,"Height","1050")) $Profondeur = Number(IniRead($Config,$i,"Bits","32")) $Refresh = Number(IniRead($Config,$i,"Refresh","60")) _ChangeScreenResEx($Moniteur,$Largeur,$Hauteur,$Profondeur,$Refresh) Sleep(1000) Next _ChangeScreenResEx() #include-once ;=============================================================================== ; Function Name: _ChangeScreenResEx() ; Description: Changes the current screen geometry, colour and refresh rate. ; Version: 1.0.0.0 ; Parameter(s): $i_DisplayNum - Display to change, starting at 1 ; $i_Width - Width of the desktop screen in pixels. (horizontal resolution) ; $i_Height - Height of the desktop screen in pixels. (vertical resolution) ; $i_BitsPP - Depth of the desktop screen in bits per pixel. ; $i_RefreshRate - Refresh rate of the desktop screen in hertz. ; Requirement(s): AutoIt Beta > 3.1 ; Return Value(s): On Success - Screen is adjusted, @ERROR = 0 ; On Failure - sets @ERROR = 1 ; Forum(s): ; Author(s): Original code - psandu.ro, PartyPooper ; Modifications - bobchernow ;=============================================================================== Func _ChangeScreenResEx($i_DisplayNum = 1, $i_Width = @DesktopWidth, $i_Height = @DesktopHeight, $i_BitsPP = @DesktopDepth, $i_RefreshRate = @DesktopRefresh) Local Const $DM_PELSWIDTH = 0x00080000 Local Const $DM_PELSHEIGHT = 0x00100000 Local Const $DM_BITSPERPEL = 0x00040000 Local Const $DM_DISPLAYFREQUENCY = 0x00400000 Local Const $CDS_TEST = 0x00000002 Local Const $CDS_UPDATEREGISTRY = 0x00000001 Local Const $DISP_CHANGE_RESTART = 1 Local Const $DISP_CHANGE_SUCCESSFUL = 0 Local Const $HWND_BROADCAST = 0xffff Local Const $WM_DISPLAYCHANGE = 0x007E If $i_Width = "" Or $i_Width = -1 Then $i_Width = @DesktopWidth; default to current setting If $i_Height = "" Or $i_Height = -1 Then $i_Height = @DesktopHeight; default to current setting If $i_BitsPP = "" Or $i_BitsPP = -1 Then $i_BitsPP = @DesktopDepth; default to current setting If $i_RefreshRate = "" Or $i_RefreshRate = -1 Then $i_RefreshRate = @DesktopRefresh; default to current setting Local $DEVMODE = DllStructCreate("byte[32];int[10];byte[32];int[6]") Local $s_Display $s_Display = "\\.\Display" & $i_DisplayNum Local $B = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "int", 0, "ptr", DllStructGetPtr($DEVMODE)) If @error Then $B = 0 SetError(1) Return $B Else $B = $B[0] EndIf If $B <> 0 Then DllStructSetData($DEVMODE, 2, BitOR($DM_PELSWIDTH, $DM_PELSHEIGHT, $DM_BITSPERPEL, $DM_DISPLAYFREQUENCY), 5) DllStructSetData($DEVMODE, 4, $i_Width, 2) DllStructSetData($DEVMODE, 4, $i_Height, 3) DllStructSetData($DEVMODE, 4, $i_BitsPP, 1) DllStructSetData($DEVMODE, 4, $i_RefreshRate, 5) $B = DllCall("user32.dll", "int", "ChangeDisplaySettingsEx","str", $s_Display, "ptr", DllStructGetPtr($DEVMODE), "hwnd", 0, "dword", $CDS_TEST, "lparam", 0) If @error Then $B = -1 Else $B = $B[0] EndIf Select Case $B = $DISP_CHANGE_RESTART $DEVMODE = "" Return 2 Case $B = $DISP_CHANGE_SUCCESSFUL DllCall("user32.dll", "int", "ChangeDisplaySettingsEx","str", $s_Display, "ptr", DllStructGetPtr($DEVMODE), "hwnd", 0, "dword", $CDS_UPDATEREGISTRY, "lparam", 0) DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_DISPLAYCHANGE, _ "int", $i_BitsPP, "int", $i_Height * 2 ^ 16 + $i_Width) $DEVMODE = "" Return 1 Case Else $DEVMODE = "" SetError(1) Return $B EndSelect EndIf EndFunc;==>_ChangeScreenResEx Any idea how to get around this problem ? thanks for your answer.
-
@GUI_CTRLID mess with my switch
Stormgrade replied to Stormgrade's topic in AutoIt GUI Help and Support
Thank you for your advice, I've used the AutoIt wiki to manage multiple GUI, If I use : GUISetState(@SW_HIDE, $GUI5) GUISetState(@SW_SHOW, $GUI5)I must "rethink" all I'had done with the GUis. I've already used your UDF for a protoype, it's very useful for hiding showing GUI inside a GUI but I don't intend to make a password manager inside one GUI. -
@GUI_CTRLID mess with my switch
Stormgrade replied to Stormgrade's topic in AutoIt GUI Help and Support
Thank you !!!!!!!!!!! I set all the variables used to store ControlID in the "On_close" function like this : Do you think I just need to do that ? It make me crazy to try to find the error but it seem to work like a charm now -
Hello, I need some help with my gui, when I click on button 2 it call a MsgBox 2, but when I click on button 1 then button 2 it call a MsgBox 1. I tear appart my code to minimal function then the error occur again ... Here the script : The error : Run my script, click on "OUVRIR" then click on "View" and click on "GO" you get a message : "L'URL ne semble pas valide." Now close the view menu, click on "Add entry" , close this menu , click on "View" and click on "GO" you get another message : "Les mots de passe ================================= sont différents." This message must only appear when you click on "Validate" in the "Add entry" menu .... I had the same problem on another PC with AutoIT 3.3.14.0 I've changed my variable, add another button , etc... The problem occur only with this two menus and this button. Can you test it ? If you don't have this error perhaps my AutoIT package (installer form AutoIT fr) have a problem. Thank you.
-
SQLite encryption with System.Data.SQLite.dll
Stormgrade replied to Stormgrade's topic in AutoIt General Help and Support
Thank you for the pragma hexkey tip, I'm trying to make an Internet Password keeper like Firefox Secure login, thanks for your help !!