Jump to content

Recommended Posts

Posted (edited)

Hi! Here is my feedback

- I downloaded the zipped archive (compiled), and I copied it to my program fils dir (Win7 x86, with UAC OFF)

- I launche it the first time, select normal mode, select English as language, select different directories for config projects...

- I choose to NOT link .au3 extension with ISN

And now, the result:

- Language is Dutch! o.O

- .au3 file extension is broken! o.O

- The "Create new AutoIt3" file has disapeared from my "New" menu

:thumbsdown:

Thanks!

Edit: Had to reinstall AutoIt 3.3.8.1 to recover the damages, but the "Create new AutoIt3 File" still missing! :ranting:

Edited by matwachich
  • Developers
Posted

Edit: Had to reinstall AutoIt 3.3.8.1 to recover the damages, but the "Create new AutoIt3 File" still missing! :ranting:

Run attached script and tell me the output... should be easy to fix.

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.
  :)

Posted (edited)

Jos,

I ran in the same problem. I thought it was just me and I couldn't narrow down which malicious code did this.

I ran your settings. Reinstall autoit3 didn't seem to repair it. What do I do to manually fix this problem?

- My language didn't change but all the link to au3 and I can't create any new au3 file.

******************************************************************************************************************************************
!*  Found always open with Win7:Applications\SciTE.exe
!*  Fixed by removing Registry key: "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.au3\Userchoice"!* HKCR\.au3 Default :au3_auto_file  ==> This should be either "AutoIt3Script" or "AutoIt3ScriptBeta"
* HKCR\.au3 ShellNew      :Template.au3 File Exists.
******************************************************************************************************************************************
* Explorer shell options:
* HKCR\au3_auto_file\shell:
*  => Default Action:
*  
*  ShellNew:Template.au3
******************************************************************************************************************************************
Edited by Mun
Posted

Thanks Jos

Here is my output

******************************************************************************************************************************************
* HKCR\.au3 Default    :AutoIt3Script
* HKCR\.au3 ShellNew      :Template.au3    File Exists.
******************************************************************************************************************************************
* Explorer shell options:
* HKCR\AutoIt3Script\shell:
*  => Default Action:Open
*    Compile                => Command:"C:\Program Files\_MesProgrammes\Logiciels\AutoIt3\Aut2Exe\Aut2Exe.exe" /in "%l"
*    Edit                  => Command:"C:\Program Files\_MesProgrammes\Logiciels\AutoIt3\SciTE\SciTE.exe" "%1"
*    Edit_ISN              => Command:"C:\Program Files\_MesProgrammes\Logiciels\ISN AutoIt Studio\Autoit_Studio.exe" "%1"
*    Open                  => Command:"C:\Program Files\_MesProgrammes\Logiciels\AutoIt3\SciTE\SciTE.exe" "%1"
*    Run                    => Command:"C:\Program Files\_MesProgrammes\Logiciels\AutoIt3\AutoIt3.exe" "%1" %*
* 
*  ShellNew:Template.au3
******************************************************************************************************************************************

I didn't tried to restart my computer yet (it takes 10 minutes to start!), but I think this is what should fix the problem

PS: The file extension is OK, it's just the ShellNew entry that is missing

Hope the author will fix this problem, this program looks great!

  • Developers
Posted (edited)

Jos,

I ran in the same problem. I thought it was just me and I couldn't narrow down which malicious code did this.

I ran your settings. Reinstall autoit3 didn't seem to repair it. What do I do to manually fix this problem?

- My language didn't change but all the link to au3 and I can't create any new au3 file.

Have you done as suggested by the script? (A little reworded and possibly more clear :) )

!* Fixed by:

-removing Registry key: "HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.au3Userchoice"!*

-changing Registry key: "HKCR.au3" Default from "au3_auto_file" to "AutoIt3Script"

By the way: It is not about Malicious code but all about making wrong overrides. This happens for example, when selecting "Open With", when doing a right mouse click in explorer on a xyz.au3, and ticking the "Always Open with" when selecting a program.

Edited 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.
  :)

  • Developers
Posted

Thanks Jos

Here is my output

-snip-

PS: The file extension is OK, it's just the ShellNew entry that is missing

Strange as it seems all Registry entries are ok again ... maybe force a restart of Explorer.exe (or reboot) helps?

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.
  :)

Posted (edited)

So I'm really sorry that I overlook this stupid bug! :(

I have uploaded a new version of ISN to my website that will fix the problem with the au3 files and the language of the initial config assistent! (The update is also aviable via automatic update)

If your miss the "creat new au3 file" in your new contextmenue...update ISN to the latest version, download and install the latest AutoIt and restart your computer (restart is very important!) (See posts above)

Again sorry for my mistake and i hope you give ISN a second chance:)

Edited by ISI360
Posted (edited)

Thanks for this great work! I think i'm gonna try to get used with this new tool!

Any way, my first suggestions are:

- Alt+I = Open Include. This should also work on .isf files.

- Ctrl+J = Search function definition

- Ctrl+E = Open explorer on the current file

- Ctrl+F6 = Window Info Tool

- Ctrl+F7 = AutoItWrapper GUI

Another feedback after I understood how the Forms system works:

I think it's a really BAD idea to use the forms like you did. I mean, what if my script has many forms, and I want to control when each one becomes visible/hidden???

I think each form should be encapsulated in a function, like I do in (nearly) all my scripts

Here is an example of what content should be in .isf files:

Enum $__GUI_CREATE, $__GUI_DELETE, $__GUI_SHOW, $__GUI_HIDE
Func _GUI_Main($iFlag = $__GUI_CREATE)
Switch $iFlag
     Case $__GUI_CREATE
         ; GUI Creation goes here
         Global $__g_hGUI_Main = GUICreate("...")
     Case $__GUI_DELETE
         GUIDelete($__g_hGUI_Main)
         $__g_hGUI_Main = -1
     Case $__GUI_SHOW
         GUISetState(@SW_SHOW, $__g_hGUI_Main)
     Case $__GUI_HIDE
         GUISetState(@SW_HIDE, $__g_hGUI_Main)
EndSwitch
EndFunc

Last remark: the .au3 file extension is broken again after updating!!! (Auto Update) :thumbsup:

PS: can you add: - Alt+M = Start Koda :P

Edited by matwachich
Posted

Wrong, Global variables shouldn't be declared inside functions. Period.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Posted

@matwachich

about the isf files:

You have 2 ways to use these files:

1. Include it

When you include an isf file its just the same if you write the GUI code in your script. With the difference the gui code is here in the isf file.

In the isf file is always ONLY the gui! No other includes or while loops or something else. So you can include so many isf files as you want.

So there is almost no difference with isf files. you can show/hide the gui with GUISetState(@SW_SHOW, $guihandle) for example.

You can also use your example when you insert the include of the isf file in your " ; GUI Creation goes here" area...

There is really no difference...

And when you really dont want to include an isf file you have the secound methode:

2. Copy code

In the formstudio click on generate code and copy the code of your GUI and past it in your script. Here you can do what you want with the code :)

What do you mean with .au3 extension is broken? Can you explain it a little bit more.

PS: No problem! Just made an macro to start koda and add a hotkey to the macroslot in the programsettings -> hotkeys :)

Posted (edited)

Hi!

@guinness

I know it's wrong, but I do it, and it works well, and I dont have any problem with undeclared vars because I create the GUI first in the script, and I show it on need.

But I agree that you also can declare all Gui Ctrl Vars outside the GUI Funcs if you want.

Here an example of how I do multi-gui scripts

#region ### GUI include: All this code goes into another script file ###
Enum $__GUI_CREATE, $__GUI_DELETE, $__GUI_SHOW, $__GUI_HIDE
; Declaring the GUI handles to not have "non declared vars" error on the main loop if I don't create any of the 2 GUIs
Global $__g_hGUI_First = -1, $__g_hGUI_Second = -2
; Remark: you can also declare all GUI Ctrl Vars here, if you don't like Globals in Funcs :p
Func _GUI_First($iFlag = $__GUI_CREATE)
Switch $iFlag
Case $__GUI_CREATE
$__g_hGUI_First = GUICreate("First GUI")
Global $B_First_OpenSecond = GUICtrlCreateButton("Open GUI 2", 30, 30, 70, 25)
Case $__GUI_SHOW
GuiSetState(@SW_SHOW, $__g_hGUI_First)
Case $__GUI_HIDE
GuiSetState(@SW_HIDE, $__g_hGUI_First)
Case $__GUI_DELETE
GuiDelete($__g_hGUI_First)
$__g_hGUI_First = -1
EndSwitch
EndFunc
Func _GUI_Second($iFlag = $__GUI_CREATE)
Switch $iFlag
Case $__GUI_CREATE
$__g_hGUI_Second = GUICreate("Second GUI")
Case $__GUI_SHOW
GuiSetState(@SW_SHOW, $__g_hGUI_Second)
Case $__GUI_HIDE
GuiSetState(@SW_HIDE, $__g_hGUI_Second)
Case $__GUI_DELETE
GuiDelete($__g_hGUI_Second)
$__g_hGUI_Second = -1
EndSwitch
EndFunc
#endregion
#region ### Main Script ###
; I First create GUIs, so that every globals (controls) are set
_GUI_First()
_GUI_Second()
; Show only the first GUI
_GUI_First($__GUI_SHOW)
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[1]
Case $__g_hGUI_First
_Events_GUIFirst($nMsg[0])
Case $__g_hGUI_Second
_Events_GUISecond($nMsg[0])
EndSwitch
WEnd
; First GUI events handling
Func _Events_GUIFirst($nMsg)
Switch $nMsg
Case -1 ; $GUI_EVENT_CLOSE
Exit
Case $B_First_OpenSecond
_GUI_First($__GUI_HIDE)
_GUI_Second($__GUI_SHOW)
EndSwitch
EndFunc
; Second GUI events handling
Func _Events_GUISecond($nMsg)
Switch $nMsg
Case -1 ; $GUI_EVENT_CLOSE
_GUI_Second($__GUI_HIDE)
_GUI_First($__GUI_SHOW)
EndSwitch
EndFunc
#endregion

@ISI360

.au3 broken, I mean that when I double-click on an .au3 file in windows explorer, it spawns me the "Open With" form (the file extension is no longer assigned to SciTE), and that the ShellNew "Create new AutoIt3 Script" is no longer in my "Context Menu -> New". I've been forced to reinstall AutoIt again!

For the .isf file, you are right, I think I can do some thing like this

Func _GUI_MyGUI($iFlag = $__GUI_CREATE)
Switch $iFlag
Case $__GUI_CREATE
#include <Forms\MyGUI.isf>
Case $__GUI_SHOW
GuiSetState(@SW_SHOW, $__g_hGUI_MyGUI)
Case $__GUI_HIDE
GuiSetState(@SW_HIDE, $__g_hGUI_MyGUI)
Case $__GUI_DELETE
GuiDelete($__g_hGUI_MyGUI)
$__g_hGUI_MyGUI = -1
EndSwitch
EndFunc

Thanks! And keep up the good work!

Edited by matwachich
Posted (edited)

Hi!

@guinness

I know it's wrong, but I do it, and it works well, and I dont have any problem with undeclared vars because I create the GUI first in the script, and I show it on need.

But I agree that you also can declare all Gui Ctrl Vars outside the GUI Funcs if you want.

What you do in your own code is your business, but bad practice shouldn't be passed on to others in the Forum or through ISN AutoIt Studio. You're also incredibly lucky if you haven't had an issue with undeclared variables.. Edited by guinness

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Posted (edited)

.au3 broken, I mean that when I double-click on an .au3 file in windows explorer, it spawns me the "Open With" form (the file extension is no longer assigned to SciTE), and that the ShellNew "Create new AutoIt3 Script" is no longer in my "Context Menu -> New". I've been forced to reinstall AutoIt again!

[

Hmm thats strange...since the latest update the actual .au3 extension will not affected.

Have you updated ISN to the latest version and then reinstall autoit and restart your pc (or kill explorer.exe)?

Now your extensions and the shell "new file..." should be here, or not?

Or does it just disappear when you run ISN?

Edited by ISI360
Posted

Seriously dude, please fix this damn file extension bug, every time I launch ISN the .au3 file extension is broken, and I have to reinstall AutoIt3

PS: Next time, I'm gonna make a dump of the HKEY_CLASSES_ROOT.au3 and HKEY_CLASSES_ROOTAutoIt3Script

Posted (edited)

Which build version of ISN do you have? (You see it in the startupscreen or under help -> Info)

Edited by ISI360
Posted

I made some tests for you, hope this will help you.

I fixed all .au3 file extensions, by reinstalling AutoIt3: all was OK (au3 files opens with SciTE, ShellNew OK)

I launch ISN, and everything is broken: .au3 extension became unknown to the system

I have: ISN v. 0.9 BETA

Version: 03.02.2013 (20130203)

OK... just checked, there is a new update! Sorry for all this! Gonna check it now (if the Colege internet connection let me donwload it!)

Guest
This topic is now closed to further replies.
×
×
  • Create New...