# assigning information from a .txt to a disabled input box

## Recommended Posts

Hi! So im at a point where I can comfortably use the Koda interface, and i can manage my programs.. BUT..... i need information from a log file to be displayed in a disabled input box (so that way the user has no control over the content that is displayed)..... how does one do this?

Note: I already have the .txt file, with the user input.. that part was easy.. but i just dont know how to retrieve it.. its going to be something with FileReadLine(), yes?

$sText = FileRead("your text file") GUICtrlSetData($yourEditControl, $sText) If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to. Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude How to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator #### Share this post ##### Link to post ##### Share on other sites so this.... $sText = FileRead("C:IanLogTestbuildTester.log")
GUICtrlSetData($productDestination,$sText)

... should be displaying whatever is in that .log file, correct?

Yes, if there's something in the text file, and if $productDestination is the handle to your control it should display it in the control. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to. Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude How to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator #### Share this post ##### Link to post ##### Share on other sites Yes, if there's something in the text file, and if$productDestination is the handle to your control it should display it in the control.

I think you meant the control identifier (controlID), not handle, I'm right?

JS

http://forum.autoitbrasil.com/ (AutoIt v3 Brazil!!!)

Somewhere Out ThereJames Ingram

Your virtual HD wherever you go, anywhere!

##### Share on other sites

Either is appropriate, depending on how the control was created.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

##### Share on other sites

I know, but I refer to the example posted by him:

$sText = FileRead("C:\IanLogTest\buildTester.log") GUICtrlSetData($productDestination, $sText) JS http://forum.autoitbrasil.com/ (AutoIt v3 Brazil!!!) Somewhere Out ThereJames Ingram Download Dropbox - Simplify your life! Your virtual HD wherever you go, anywhere! #### Share this post ##### Link to post ##### Share on other sites Whatever, to me the 2 are practically interchangable. It's all semantics anyways. To be 100% correct, you'd be right, but I've seen most people rarely differentiate between the 2. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to. Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude How to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator #### Share this post ##### Link to post ##### Share on other sites so either way, if that log file has the word "fish" on the first line.. the product destination label should be displaying the word "fish"? #### Share this post ##### Link to post ##### Share on other sites In the au3 script that has the user input data this is my code... $text = InputBox("Build Data", "Please input product build number.")

FileDelete("C:IanLogTestbuildTester.log")
$logdir = "C:IanLogTest"$logfile = $logdir & "buildTester.log"$screenshot = 0
$module = "Initial"$file = FileOpen($logfile, 9) ;;;;works and saves variable to log;;;; FileWriteLine($file, $text) FileWriteLine($file, @CRLF)
FileClose($file) ... and then to call that text i use... $sText = FileReadLine("C:IanLogTestbuildTester.log")
GUICtrlSetData($productDestination,$sText)

... and nothing happens.. after running the code the label remains empty

##### Share on other sites

What label? I don't see any label in that code. Perhaps you should post a working script that demonstrates the problem rather than bits and pieces that have nothing to do with the issue you're asking about.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

##### Share on other sites

#include
#include
#include
#include
#include
#include

; Force close with CTRL-Q
HotKeySet("^q", "stop")
Func stop()
Exit
EndFunc ;==>stop

#Region ### START Koda GUI section ### Form=
$Form = GUICreate("Finalizing Installation", 508, 488, -1245, 273)$titleLabel = GUICtrlCreateLabel("Setup Information", 32, 40, 132, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$finishButton = GUICtrlCreateButton("&Finish", 208, 416, 75, 33) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")$backButton = GUICtrlCreateButton("&Back", 304, 416, 75, 33)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$brandLabel = GUICtrlCreateLabel("Brand:", 48, 128, 51, 24) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")$brandDestination = GUICtrlCreateInput("", 152, 120, 81, 28)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetState(-1, $GUI_DISABLE)$buildLabel = GUICtrlCreateLabel("Product Build:", 48, 88, 102, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$productDestination = GUICtrlCreateInput("", 152, 80, 81, 28) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") GUICtrlSetState(-1,$GUI_DISABLE)
$functionsList = GUICtrlCreateList("", 48, 192, 145, 149) GUICtrlSetState(-1,$GUI_DISABLE)
$functionsLabel = GUICtrlCreateLabel("Selected Functions:", 48, 160, 145, 24) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")$ipList = GUICtrlCreateList("", 304, 192, 145, 149)
GUICtrlSetState(-1, $GUI_DISABLE)$ipLabel = GUICtrlCreateLabel("Selected IPs:", 304, 160, 98, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$buildButton = GUICtrlCreateButton("Change Build and Brand", 256, 92, 193, 41) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")$functionsButton = GUICtrlCreateButton("Change Functions", 48, 344, 145, 33)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$ipButton = GUICtrlCreateButton("Change IPs", 304, 344, 145, 33) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") GUISetState(@SW_SHOW)$cancelButton = GUICtrlCreateButton("Cancel", 400, 416, 75, 33)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg() Switch$nMsg
Case $GUI_EVENT_CLOSE Exit Case$buildButton
Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautoWizardstep1.au3")
$handle = WinGetHandle("Untitled - AutoIt", "") WinClose($handle)
Case $functionsButton Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautoWizardstep2.au3")$handle = WinGetHandle("Untitled - AutoIt", "")
WinClose($handle) Case$ipButton
Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautoWizardstep3.au3")
$handle = WinGetHandle("Untitled - AutoIt", "") WinClose($handle)
Case $backButton Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautoWizardstep3.au3")$handle = WinGetHandle("Untitled - AutoIt", "")
WinClose($handle) Case$finishButton
$handle = WinGetHandle("Untitled - AutoIt", "") WinClose($handle)
Case $cancelButton$handle = WinGetHandle("Untitled - AutoIt", "")
WinClose($handle) EndSwitch WEnd$sText = FileReadLine("C:IanLogTestbuildTester.log")
GUICtrlSetData($productDestination,$sText)

.... sorry i used koda to make the interface. everything works (buttons are the only thing so far), they wont work because all of the file paths are set to my computer, as you could figure out..

##### Share on other sites

#include <ButtonConstanst.au3>
#include <EditConstants.au3>
#include <GUIConstantsEX.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

##### Share on other sites

Never mind guys, I figured it out after playing with a message box.. i just had to specify in the #Region stuff from koda where to put it... thanks for all your help!

##### Share on other sites

here is what i did...

$text = FileReadLine("C:IanLogTestbuildTester.log") MsgBox("text read", "Reads a log file",$text)

[color=#000000][font=monospace][size=2][background=rgb(248, 248, 248)] [/background][/size][/font][/color][url="http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetData.htm"][color=#000090]GUICtrlSetData[/color][/url][color=#FF8000][font=monospace][size=2]([/size][/font][/color][color=#5A5A5A][font=monospace][size=2]$productDestination[/size][/font][/color][color=#FF8000][font=monospace][size=2],[/size][/font][/color][color=#000000][font=monospace][size=2][background=rgb(248, 248, 248)] [/background][/size][/font][/color][color=#5A5A5A][font=monospace][size=2]$sText[/size][/font][/color][color=#FF8000][font=monospace][size=2])[/size][/font][/color]

...line, I just made a practice program with a message box and just applied it to the actual GUI script i posted previously

##### Share on other sites

Whatever, to me the 2 are practically interchangable. It's all semantics anyways. To be 100% correct, you'd be right, but I've seen most people rarely differentiate between the 2.

Run this example:

#include <GUIConstantsEx.au3>

_Example()

Func _Example()
Local $iCtrlID,$hCtrlHwnd

GUICreate("My GUI Button", 320, 240) ; will create a dialog box that when displayed is centered

$iCtrlID = GUICtrlCreateButton("Ctrl ID", 50, 100, 100)$hCtrlHwnd = GUICtrlCreateButton("Ctrl Hwnd", 170, 100, 100)
$hCtrlHwnd = GUICtrlGetHandle($hCtrlHwnd)

GUISetState() ; will display an  dialog box with 2 button

; Run the GUI until the dialog is closed
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE ExitLoop Case$iCtrlID
MsgBox(4096, "ControlID", "Control ID: " & $iCtrlID) Case$hCtrlHwnd
MsgBox(4096, "Handle", "Control handle: " & $hCtrlHwnd) EndSwitch WEnd EndFunc ;==>Example That's what I tell... JS http://forum.autoitbrasil.com/ (AutoIt v3 Brazil!!!) Somewhere Out ThereJames Ingram Download Dropbox - Simplify your life! Your virtual HD wherever you go, anywhere! #### Share this post ##### Link to post ##### Share on other sites Look, I KNOW the difference between a handle and a control ID, I don't need your explanation. I explained what I meant and if you're determined to "win" this, then fine, you've won, you're the greatest programmer ever, now drop it. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to. Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude How to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator #### Share this post ##### Link to post ##### Share on other sites OK - I will ask the question then, as I ran @JScript and nothing happened when I pressed the handle button. If I comment out this line$hCtrlHwnd = GUICtrlGetHandle($hCtrlHwnd) it works fine. I guess I do not know the difference. Not trying to add fuel to the fire - just want to know. All by me: "Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace$ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection # Ternary operator #### Share this post ##### Link to post ##### Share on other sites It's because the script, as written, doesn't work. This works as it's supposed to. #include <GUIConstantsEx.au3> _Example() Func _Example() Local$iCtrlID, $hCtrlHwnd GUICreate("My GUI Button", 320, 240) ; will create a dialog box that when displayed is centered$iCtrlID = GUICtrlCreateButton("Ctrl ID", 50, 100, 100)

$CtrlHwnd = GUICtrlCreateButton("Ctrl Hwnd", 170, 100, 100)$hCtrlHwnd = GUICtrlGetHandle($CtrlHwnd) GUISetState() ; will display an dialog box with 2 button ; Run the GUI until the dialog is closed While 1 Switch GUIGetMsg() Case$GUI_EVENT_CLOSE
ExitLoop
Case $iCtrlID MsgBox(4096, "ControlID", "Control ID: " &$iCtrlID)
Case $CtrlHwnd MsgBox(4096, "Handle", "Control handle: " &$hCtrlHwnd)
EndSwitch
WEnd
EndFunc ;==>Example

p.s. It helps to know the difference in how functions work with control handles versus control IDs. The original script won't work because he wrote it trying to get it to action on a handle and that won't work with GUIGetMsg, you need the CID.

Edited by BrewManNH

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

## Create an account

Register a new account

• ### Similar Content

• By misioooo
Hi!

I am writing some GUI and i need to use images as buttons, but with text on them (text is from INI file).
Part with button looks like this:
$ankieta1 = GUICtrlCreateButton($txtAnk1, 100,350,765,164) GUICtrlSetFont(-1, 22, 800, -1, "Arial") ;GUICtrlSetColor(-1,0xffffff) $hImageBtn_1 = _GUIImageList_Create(765, 164) _GUIImageList_AddBitmap($hImageBtn_1, "c:\path\to\ankieta_clean.bmp") _GUICtrlButton_SetImageList($ankieta1,$hImageBtn_1, 4) GUICtrlSetOnEvent(-1, "On_Ankieta1") The problem - if i uncomment GUICtrlSetColor, color of text changes, but button is just plain gray (no image). How i can change text color not touching image on a button here?
• By jpomalley
Hi all,
Does anyone know if there is a way to disable the Windows "fade effect" that occurs when a window appears or disappears?
It is possible for a user to disable visual effects in windows in general through the system properties > performance settings, but I am interested just in fixing it for a particular window that pops up in my app.
I would like it to appear and disappear instantaneously, snapping in and out, out of nowhere, rather than the short (maybe 300 ms?) fade in/fade out effect that windows has.
Thanks for any tips
JP
• By fastman
I am struggling with activating the 2nd GUI.  References of https://www.autoitscript.com/wiki/Managing_Multiple_GUIs did not help.
Gui2 and controls are created, but the buttons are not active.  I have tried to remove extra code.
Thanks for any help.
; ; cabinet maker process to automate MasterCam ; ATP nesting process ; #include <AutoItConstants.au3> #include <Array.au3> ;#include <file.au3> ;#include <FileConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <WinAPI.au3> #include <WinAPIFiles.au3> #include <WindowsConstants.au3> ;#include <XML.au3>; If XML library is updated, note that this script requires that save file will overwrite an existing file Opt("GUIOnEventMode", 1) ; 1 = OnEvent mode Opt("WinWaitDelay", 500) ; milliseconds Opt("TrayIconDebug", 1) Opt("WinSearchChildren", 1) Global $hMainGUI Global$hMainGUI2 Func GetAllWindowsControls($hCallersWindow,$bOnlyVisible = Default, $sStringIncludes = Default,$sClass = Default) If Not IsHWnd($hCallersWindow) Then ConsoleWrite("$hCallersWindow must be a handle...provided=[" & $hCallersWindow & "]" & @CRLF) Return False EndIf ; Get all list of controls If$bOnlyVisible = Default Then $bOnlyVisible = True If$sStringIncludes = Default Then $sStringIncludes = "" If$sClass = Default Then $sClass = ""$sClassList = WinGetClassList($hCallersWindow) ; Create array$aClassList = StringSplit($sClassList, @CRLF, 2) ; Sort array _ArraySort($aClassList) _ArrayDelete($aClassList, 0) ; Loop$iCurrentClass = "" $iCurrentCount = 1$iTotalCounter = 1 If StringLen($sClass) > 0 Then For$i = UBound($aClassList) - 1 To 0 Step -1 If$aClassList[$i] <>$sClass Then _ArrayDelete($aClassList,$i) EndIf Next EndIf For $i = 0 To UBound($aClassList) - 1 If $aClassList[$i] = $iCurrentClass Then$iCurrentCount += 1 Else $iCurrentClass =$aClassList[$i]$iCurrentCount = 1 EndIf $hControl = ControlGetHandle($hCallersWindow, "", "[CLASSNN:" & $iCurrentClass &$iCurrentCount & "]") $text = StringRegExpReplace(ControlGetText($hCallersWindow, "", $hControl), "[\n\r]", "{@CRLF}")$aPos = ControlGetPos($hCallersWindow, "",$hControl) $sControlID = _WinAPI_GetDlgCtrlID($hControl) $bIsVisible = ControlCommand($hCallersWindow, "", $hControl, "IsVisible") If$bOnlyVisible And Not $bIsVisible Then$iTotalCounter += 1 ContinueLoop EndIf If StringLen($sStringIncludes) > 0 Then If Not StringInStr($text, $sStringIncludes) Then$iTotalCounter += 1 ContinueLoop EndIf EndIf If IsArray($aPos) Then ;ConsoleWrite("ControlID=[" & StringFormat("%5s",$sControlID) & "] Handle=[" & StringFormat("%10s", $hControl) & "] ClassNN=[" & StringFormat("%19s",$iCurrentClass & $iCurrentCount) & "] XPos=[" & StringFormat("%4s",$aPos[0]) & "] YPos=[" & StringFormat("%4s", $aPos[1]) & "] Width=[" & StringFormat("%4s",$aPos[2]) & "] Height=[" & StringFormat("%4s", $aPos[3]) & "] IsVisible=[" &$bIsVisible & "] Text=[" & $text & "]." & @CRLF) ConsoleWrite("Func=[GetAllWindowsControls]: ControlCounter=[" & StringFormat("%3s",$iTotalCounter) & "] ControlID=[" & StringFormat("%5s", $sControlID) & "] Handle=[" & StringFormat("%10s",$hControl) & "] ClassNN=[" & StringFormat("%19s", $iCurrentClass &$iCurrentCount) & "] XPos=[" & StringFormat("%4s", $aPos[0]) & "] YPos=[" & StringFormat("%4s",$aPos[1]) & "] Width=[" & StringFormat("%4s", $aPos[2]) & "] Height=[" & StringFormat("%4s",$aPos[3]) & "] IsVisible=[" & $bIsVisible & "] Text=[" &$text & "]." & @CRLF) Else ;ConsoleWrite("ControlID=[" & StringFormat("%5s", $sControlID) & "] Handle=[" & StringFormat("%10s",$hControl) & "] ClassNN=[" & StringFormat("%19s", $iCurrentClass &$iCurrentCount) & "] XPos=[winclosed] YPos=[winclosed] Width=[winclosed] Height=[winclosed] Text=[" & $text & "]." & @CRLF) ConsoleWrite("Func=[GetAllWindowsControls]: ControlCounter=[" & StringFormat("%3s",$iTotalCounter) & "] ControlID=[" & StringFormat("%5s", $sControlID) & "] Handle=[" & StringFormat("%10s",$hControl) & "] ClassNN=[" & StringFormat("%19s", $iCurrentClass &$iCurrentCount) & "] XPos=[winclosed] YPos=[winclosed] Width=[winclosed] Height=[winclosed] Text=[" & $text & "]." & @CRLF) EndIf If Not WinExists($hCallersWindow) Then ExitLoop $iTotalCounter += 1 Next ;MsgBox($MB_SYSTEMMODAL, "title", "check console for control list") EndFunc ;==>GetAllWindowsControls ; ======= Func GetAllWindowsControls($hCallersWindow,$bOnlyVisible = Default, $sStringIncludes = Default,$sClass = Default) ========= Func setNestingOverlay() $ovrWidth = 400$ovrHeight = 60 $ovrLeft = -1 ;$mcamWindow[0] + $nestControlRelative[0]$ovrTop = -1;$mcamWindow[1] +$nestControlRelative[1]+ 10 $hMainGUI = GUICreate("covering mastercam buttons",$ovrWidth, $ovrHeight,$ovrLeft, $ovrTop, -1,$WS_EX_TOPMOST) GUISetOnEvent($GUI_EVENT_CLOSE, "CloseButton2") Local$iOKButton1 = GUICtrlCreateButton("Continue to gui2", 20, 20, 80) GUICtrlSetOnEvent($iOKButton1, "NestResultButtonOverlay") GUISetState(@SW_SHOW,$hMainGUI) GetAllWindowsControls(WinGetHandle("[ACTIVE]")) ;loop to monitor button click While 1 Sleep(50) ; Sleep to reduce CPU usage WEnd ConsoleWrite(" exit loop setNestingOverlay") EndFunc ;==>setNestingOverlay ;=== 2nd gui ======= 2nd gui ======= 2nd gui ======= 2nd gui ======= 2nd gui ======= 2nd gui ==== func NestResultButtonOverlay() $ovrWidth = -1;$mcamWindow[2] - 10 $ovrHeight = 70 ;40$ovrLeft = -1 ;$mcamWindow[0] + 5 ;+$nestControlRelative[0] $ovrTop = -1 ;$mcamWindow[1] + $nestControlRelative[1]+ 10$hMainGUI2 = GUICreate("gui2-- covering nest result buttons", $ovrWidth,$ovrHeight, $ovrLeft,$ovrTop, -1, $WS_EX_TOPMOST) ;width, height, left, top ;GUISetState(@SW_DISABLE + @SW_MINIMIZE,$hMainGUI) ;GUISwitch($hMainGUI2) GUISetOnEvent($GUI_EVENT_CLOSE, "CloseButton2") local $iBackNestingButton = GUICtrlCreateButton("Back to Nesting", 20, 10, 120) GUICtrlSetOnEvent($iBackNestingButton, "backtoNesting") Local $iOKButton2 = GUICtrlCreateButton("Continue for g-Code", 160, 10, 120) GUICtrlSetOnEvent(-1, "generateGCode") ;GUICtrlSetOnEvent($iOKButton2, "generateGCode") Local $iDoneButton2 = GUICtrlCreateButton("Oops go back to vortex", 300, 10, 120) GUICtrlSetOnEvent($iDoneButton2, "CloseButton2") GUISetState(@SW_SHOW, $hMainGUI2) GUISetState(@SW_DISABLE + @SW_MINIMIZE,$hMainGUI) GUISwitch($hMainGUI2) GetAllWindowsControls(WinGetHandle("[ACTIVE]")) While 1 Sleep(50) ; Sleep to reduce CPU usage WEnd ConsoleWrite(" exit loop NestResultButtonOverlay") EndFunc ;==>setNestingOverlay func backtoNesting() msgbox($MB_SYSTEMMODAL, "gui2","backtoNesting") EndFunc Func CloseButton2() msgbox($MB_SYSTEMMODAL, "gui2","CloseButton2") Exit EndFunc func generateGCode() msgbox($MB_SYSTEMMODAL, "gui2","generateGCode") EndFunc ; =========== main =========== main =========== main =========== main =========== main =========== main setNestingOverlay()
• By Blueman
Hey Guys,
Maybe you can help me with something small.
It is not terrible but it slows down my script and after a while even crash the script.

First i explain what i have;
I have a GUI with a lot of GUICtrlCreateInput controls, lets say 600 pieces.
All the controls are hidden when the GUI is displayed, i have 3 buttons attached to 200 pieces each.
When i press button-1 the first 200 controls are showed,
When i press button-2 the first 200 controls are hidden and the next 200 controls are showed,
etc, etc.
This is working perfectly but after a while the GUI is getting slower and slower.
After a while the controls aren't responding anymore and the script crashes.
When i compile the script to 64-Bits version the speed is a lot better but you can still see the script slowing down each time i use the buttons.
I think there has to be a buffer somewhere that is filling each time i show and hide the controls, but how can i clear that buffer without restarting the script?
Deleting and re-creating the controls didn't help, deleting the entire gui (and controls) and re-creating it didn't help also.
The only thing that is working is restarting the script.

Thanks guys!

PS: If you need a working example i can add it to this topic, just let me know. It is not rocket science, i just create the controls and show/hide them with a while loop and 3 buttons.

• By TheDcoder

ProxAllium
ProxAllium is a GUI frontend to Tor, it aims to make the usage of Tor easier by directly exposing its SOCK5 proxy which can be used to access the Tor network. The GUI is designed to be simple and user-friendly and it has a few other features... namely:
Fully portable - doesn't write outside its own directory Integrated with Tor via the controller interface and properly communicates with it Minimize to tray Option to start with Windows Interface to configure bridges if Tor is censored in your region Many customization options are available via the config.ini file Screenshots:
The code is made with pure AutoIt, is fully open source and you are free to adapt it to your needs
The GitHub repository hosts all the releases and code. As a bonus it has a somewhat sparsely documented Tor UDF which can be used to control Tor, the code also demonstrates the proper usage of my Process UDF which might be interesting if you want to deal with processes.

As some of my friends know, I no longer use Windows as my main operating system. I switched to Linux a few months back as my primary operating system and haven't looked back since. Unfortunately that meant I could no longer use my own program due to it being Windows only... after a few months of playing around with C and making a basic program, I have decided to rewrite all of ProxAllium into C and make it cross-platform. Sadly this means that the AutoIt version of ProxAllium will not receive any major updates now.
Let me know if this is something you guys would use, I used it daily with my IRC client to connect via Tor (to protect my I.P). I hope you enjoy using my program!
×

• Wiki

• Back

• Git