Zohar Posted March 18, 2021 Share Posted March 18, 2021 (edited) Hi all When I RightClick an .au3 file in WindowsExplorer, it seems that AutoIt added quite too many operations there, way too abundantly than what I find it comfortable to work with. During Installation, there wasn't an option to select which operations I would like to appear in the ContextMenu.. So I will now clean the ContextMenu a bit. My question is: Does AutoIt have some configuration place that I use to choose which ones to include and which to hide? Or should we use an external utility that edits the ContextMenu for various file extensons? Thank you Edited March 26, 2021 by Zohar Link to comment Share on other sites More sharing options...
Developers Jos Posted March 18, 2021 Developers Share Posted March 18, 2021 These are added automatically by the installer. You could pretty easily remove registry keys you don't like. This this script to list the keys currently active: expandcollapse popup#include <WindowsConstants.au3> #include <EditConstants.au3> #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=C:\Program Files (x86)\AutoIt3\Icons\au3.ico #AutoIt3Wrapper_Add_Constants=n #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;*********************************************************** ; Scriptname: Get_AU3_Settings.au3 ; Script to display Registry setting for SciTE & AutoIt3 ; reporting possible issues with these settings ;*********************************************************** #include <StaticConstants.au3> #include <GUIConstantsEx.au3> _Check_Au3_Registry() ; Func _Check_Au3_Registry() Local $TotalMsg,$UserData Display_Console("******************************************************************************************************************************************" & @CRLF, $TotalMsg) Local $FixedOpen = RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.au3", "Application") Local $FixedOpenW7 = RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.au3\Userchoice", "ProgId") If $FixedOpen <> "" Then Display_Console("!* Found always open with :" & $FixedOpen & @CRLF, $TotalMsg) Display_Console('!* Fixed by removing Registry Hyve: "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.au3" Key:"Application"' & @CRLF, $TotalMsg) EndIf If $FixedOpenW7 <> "" Then Display_Console("!* Found always open with Win7 :" & $FixedOpenW7 & @CRLF, $TotalMsg) Display_Console('!* Fixed by removing Registry key : "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.au3\Userchoice"' & @CRLF, $TotalMsg) EndIf Local $au3prof = RegRead("HKCR\.au3", "") If $au3prof <> "AutoIt3Script" And $au3prof <> "AutoIt3ScriptBeta" Then Display_Console('!* Registry key: "HKCR\.au3" - "Default" is currently set to ' & $au3prof, $TotalMsg) Display_Console(' ==> This should be changed to "AutoIt3Script" (or "AutoIt3ScriptBeta")' & @CRLF, $TotalMsg) ;~ RegWrite("HKCR\.au3","","REG_SZ","AutoIt3Script") Else Display_Console("* HKCR\.au3 Default : " & $au3prof & @CRLF, $TotalMsg) EndIf ;~ $ShellNewWinDir = RegRead("HKEY_USERS\.default\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Filename") Local $RegKeyBase = "HKLM\SOFTWARE\Classes\.au3\ShellNew" Display_Console("* " & $RegKeyBase & ": " & @WindowsDir & "\SHELLNEW\" & RegRead($RegKeyBase, "Filename"), $TotalMsg) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : RegRead($RegKeyBase, "Filename") = ' & RegRead($RegKeyBase, "Filename") & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console If FileExists(@WindowsDir & "\SHELLNEW\" & RegRead($RegKeyBase, "Filename")) Then Display_Console(" (File Exists)" & @CRLF, $TotalMsg) Else Display_Console(" (*** File is Misssing!)" & @CRLF, $TotalMsg) EndIf Display_Console("* HKCR\.au3 ShellNew : " & @WindowsDir & "\SHELLNEW\" & RegRead("HKCR\.au3\Shellnew", "Filename"), $TotalMsg) If FileExists(@WindowsDir & "\SHELLNEW\" & RegRead("HKCR\.au3\Shellnew", "Filename")) Then Display_Console(" (File Exists)" & @CRLF, $TotalMsg) Else Display_Console(" (*** File is Misssing!)" & @CRLF, $TotalMsg) EndIf $RegKeyBase = "HKCR\" & $au3prof & "\shell" Display_Console("******************************************************************************************************************************************" & @CRLF, $TotalMsg) Display_Console("* Explorer shell options:" & @CRLF, $TotalMsg) Display_Console("* " & $RegKeyBase & ": " & @CRLF, $TotalMsg) Display_Console("* => Default Action:" & RegRead($RegKeyBase, "") & @CRLF, $TotalMsg) Local $var, $var2 For $i = 1 To 30 $var = RegEnumKey($RegKeyBase, $i) If @error <> 0 Then ExitLoop Display_Console("* " & StringLeft($var & " ", 22), $TotalMsg) $var2 = RegEnumKey($RegKeyBase & "\" & $var, 1) Display_Console(" => " & $var2, $TotalMsg) Display_Console(":" & RegRead($RegKeyBase & "\" & $var & "\" & $var2, "") & @CRLF, $TotalMsg) Next Display_Console("******************************************************************************************************************************************" & @CRLF, $TotalMsg) Display_Console("* User SciTE info:" & @CRLF, $TotalMsg) If EnvGet("SCITE_USERHOME") <> "" Then $UserData = EnvGet("SCITE_USERHOME") Display_Console("* SCITE_USERHOME:" & $UserData & ": " & @CRLF, $TotalMsg) ElseIf EnvGet("SCITE_HOME") <> "" Then $UserData = EnvGet("SCITE_HOME") Display_Console("* SCITE_HOME:" & $UserData & ": " & @CRLF, $TotalMsg) Else $UserData = @ScriptDir Display_Console("* Portable:" & $UserData & ": " & @CRLF, $TotalMsg) EndIf If Not FileExists($UserData) Then Display_Console("* Directory missing: " & $UserData, $TotalMsg) Else ; Check directory structure If Not FileExists($UserData & "\Au3Stripper") Then Display_Console("* Directory missing: " & $UserData & "\Au3Stripper" & @CRLF, $TotalMsg) If Not FileExists($UserData & "\AutoIt3Wrapper") Then Display_Console("* Directory missing: " & $UserData & "\AutoIt3Wrapper" & @CRLF, $TotalMsg) If Not FileExists($UserData & "\CodeWizard") Then Display_Console("* Directory missing: " & $UserData & "\CodeWizard" & @CRLF, $TotalMsg) If Not FileExists($UserData & "\SciTE Jump") Then Display_Console("* Directory missing: " & $UserData & "\SciTE Jump" & @CRLF, $TotalMsg) If Not FileExists($UserData & "\SciTEConfig") Then Display_Console("* Directory missing: " & $UserData & "\SciTEConfig" & @CRLF, $TotalMsg) If Not FileExists($UserData & "\Tidy") Then Display_Console("* Directory missing: " & $UserData & "\Tidy" & @CRLF, $TotalMsg) ; check key files If Not FileExists($UserData & "\abbrev.properties") Then Display_Console("* File missing: " & $UserData & "\Aabbrev.properties" & @CRLF, $TotalMsg) Else If Not FileGetSize($UserData & "\abbrev.properties") Then Display_Console("* File empty: " & $UserData & "\Abbrev.properties" & @CRLF, $TotalMsg) EndIf If Not FileExists($UserData & "\au3abbrev.properties") Then Display_Console("* File missing: " & $UserData & "\au3abbrev.properties" & @CRLF, $TotalMsg) Else If Not FileGetSize($UserData & "\au3abbrev.properties") Then Display_Console("* File empty: " & $UserData & "\au3abbrev.properties" & @CRLF, $TotalMsg) EndIf If Not FileExists($UserData & "\SciTEUSer.properties") Then Display_Console("* No SciTEUSer.properties yet" & @CRLF, $TotalMsg) Else Display_Console("* SciTEUSer.Properties: " & @CRLF, $TotalMsg) Display_Console("*-----------------------------------------------------------------------------------------" & @CRLF, $TotalMsg) Display_Console(FileRead($UserData & "\SciTEUSer.properties") & @CRLF, $TotalMsg) EndIf EndIf Display_Console("******************************************************************************************************************************************" & @CRLF, $TotalMsg) ClipPut($TotalMsg) GUICreate(".au3 registry settings", 1000, 600) GUICtrlCreateEdit($TotalMsg, 1, 1, 998, 560,$ES_READONLY+$WS_VSCROLL+$ES_AUTOVSCROLL) GUICtrlSetFont(-1, Default, Default, Default, "Courier New") Local $HReg_Exit = GUICtrlCreateButton("Exit", 450, 570, 50, 25) GUICtrlCreateLabel("* information is stored on the clipboard.", 10, 575) GUISetState(@SW_SHOW) Do $msg = GUIGetMsg() Until $msg = $GUI_EVENT_CLOSE Or $msg = $HReg_Exit GUIDelete() EndFunc ;==>_Check_Au3_Registry ; Func Display_Console($msg, ByRef $TotalMsg) ;~ ConsoleWrite($msg) $TotalMsg &= $msg EndFunc ;==>Display_Console It will display a gui with this kind of output: The Red line is the registry key which either contains HKCR\AutoIt3Script\shell: or HKCR\AutoIt3ScriptBeta\shell: Quote ****************************************************************************************************************************************** * HKCR\.au3 Default : AutoIt3ScriptBeta * HKLM\SOFTWARE\Classes\.au3\ShellNew: C:\WINDOWS\SHELLNEW\Template.au3 (File Exists) * HKCR\.au3 ShellNew : C:\WINDOWS\SHELLNEW\Template.au3 (File Exists) ****************************************************************************************************************************************** * Explorer shell options: * HKCR\AutoIt3ScriptBeta\shell: * => Default Action:Open * Compile => Command:"C:\Program Files (x86)\AutoIt3\Beta\Aut2Exe\Aut2Exe.exe" /in "%l" * Compile with Options => Command:"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /ShowGui /in "%l" * CompileX64 => Command:"C:\Program Files (x86)\AutoIt3\Beta\Aut2Exe\Aut2Exe_x64.exe" /in "%l" * CompileX86 => Command:"C:\Program Files (x86)\AutoIt3\Beta\Aut2Exe\Aut2Exe.exe" /in "%l" * Edit => Command:"C:\Program Files (x86)\AutoIt3\SciTE\SciTE.exe" "%1" * Open => Command:start /D "C:\Program Files (x86)\AutoIt3\SciTE" "C:\Program Files (x86)\AutoIt3\SciTE\SciTE.exe" "%1" * Run => Command:"C:\Program Files (x86)\AutoIt3\AutoIt3.exe" "%1" %* * RunX64 => Command:"C:\Program Files (x86)\AutoIt3\Beta\AutoIt3_x64.exe" "%1" %* * RunX86 => Command:"C:\Program Files (x86)\AutoIt3\Beta\AutoIt3.exe" "%1" %* ****************************************************************************************************************************************** So just create a simple autoit3script in which to delete the entries you don't like. SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Zohar Posted March 18, 2021 Author Share Posted March 18, 2021 (edited) I see. Thank you very much. If I may recommend: When a program has quite many operations that it puts in the ContextMenu, it is quite helpful to create a SubMenu in the CotnextMenu. That way, only 2-3 highly used operations remain outside (in the root level), such as Open, Run, Edit, and in the SubMenu, all the other operations will reside.. If you guys can consider this, it will make the menu much nicer. Edited March 18, 2021 by Zohar Link to comment Share on other sites More sharing options...
Exit Posted March 18, 2021 Share Posted March 18, 2021 (edited) I like the bigger one. Only one click to reach all options. Edited March 18, 2021 by Exit App: Au3toCmd UDF: _SingleScript() Link to comment Share on other sites More sharing options...
Zohar Posted March 19, 2021 Author Share Posted March 19, 2021 23 hours ago, Exit said: I like the bigger one. Only one click to reach all options. Then during installation the user can choose what he prefers.. The bigger one with all in Root level, or only 2-3 in root, and the rest under a submenu Link to comment Share on other sites More sharing options...
Developers Jos Posted March 19, 2021 Developers Share Posted March 19, 2021 (edited) Just make a script to get rid of the entries you don't want... Piece of cake Edited March 19, 2021 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Zohar Posted March 20, 2021 Author Share Posted March 20, 2021 OK Thank you Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now