Jump to content
FrancescoDiMuro

Set on top a GUI

Recommended Posts

FrancescoDiMuro

Good morning community! :)
I was working on a script which read the content of a .ini file to retrieve the file that has to open, and, based on the value of a second key stored in the .ini file, set the window on top, minimized or maximized...
I did something like this, but seems to not work properly...
Could anyone please tell me what I'm doing wrong?
Thank you :) 
 

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile_x64=prova.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>
;#include <WinAPIEx.au3>
#include <Array.au3>

Local $sFileConfigurazione = @ScriptDir & "\configurazione_exe.ini"

If(FileExists($sFileConfigurazione)) Then
    Local $aSezioneIni = IniReadSection($sFileConfigurazione, "CONFIGURAZIONE_EXE")
    If @error Then
        MsgBox($MB_ICONERROR, "Errore!", "Errore durante l'apertura del file: " & @CRLF & $sFileConfigurazione & @CRLF & "Errore: " & @error)
    Else
        ; Lancio dell'applicativo indicato nel file di configurazione
        Local $iPID = ShellExecute($aSezioneIni[1][1])
        Local $hWnd
        If($iPID <> 0) Then
            Local $aWinList = WinList()
            For $i = 1 To $aWinList[0][0]
                If(WinGetProcess($aWinList[$i][1] = $iPID)) Then
                    $hWnd = $aWinList[$i][1]
                EndIf
            Next
            Switch($aSezioneIni[2][1])
                Case $aSezioneIni[2][1] = "MIN"
                    ToolTip("MIN", 0, 0)
                    WinSetState($hWnd, WinGetTitle($hWnd), @SW_MINIMIZE)
                Case $aSezioneIni[2][1] = "MAX"
                    ToolTip("MAX", 0, 0)
                    WinSetState($hWnd, WinGetTitle($hWnd), @SW_MAXIMIZE)
                Case $aSezioneIni[2][1] = "TOP"
                    ToolTip("TOP", 0, 0)
                    WinSetOnTop($hWnd, WinGetTitle($hWnd), $WINDOWS_ONTOP)
            EndSwitch
        EndIf
    EndIf
EndIf

And the .ini file is like this:
 

[CONFIGURAZIONE_EXE]
PercorsoExe=Here goes the path and the .exe to execute
ModalitaAperturaExe=Here goes one of the value below
/* TOP Shows the windows on top */
/* MIN Shows the window minimized */
/* MAX Shows the window maximized */

 


Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites
FrancescoDiMuro

BUMP :) 


Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites
Melba23

FrancescoDiMuro,

This works for me. I have highlighted the changes (<<<<<<<<):

#include <Array.au3>
#include <AutoItConstants.au3>

$iPID = ShellExecute("text.txt")

; Use placeholder as flag for success <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Local $hWnd = 9999

Do
    ; List GUIs
    $aWinList = WinList()
    ; Check if PID found and if GUI is visible <<<<<<<<<<<<<<<<
    For $i = 1 To $aWinList[0][0]
        If WinGetProcess($aWinList[$i][1]) = $iPID And BitAND(WinGetState($aWinList[$i][1]), 2) Then
            ; Store handle
            $hWnd = $aWinList[$i][1]
            ; Stop searching <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
            ExitLoop
        EndIf
    Next
    ; Save CPU
    Sleep(10)

Until $hWnd <> 9999 ; Keep looking until GUI appears <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

$iMode = InputBox("Mode", "1, 2, 3")

Switch $iMode
    Case 1 ; Use correct syntax for Switch - you were using Select syntax <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        ToolTip("MIN", 0, 0)
        WinSetState($hWnd, "", @SW_MINIMIZE)
    Case 2
        ToolTip("MAX", 0, 0)
        WinSetState($hWnd, "", @SW_MAXIMIZE)
    Case 2
        ToolTip("TOP", 0, 0)
        WinSetOnTop($hWnd, "", $WINDOWS_ONTOP)

EndSwitch

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
FrancescoDiMuro

@Melba23
Thank you for you corrections :)
I'll try your code asap :)
 

2 hours ago, Melba23 said:

you were using Select syntax <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Sorry for the mistake... Better if I change the Switch...Case to the Select...Case, in order to tell the script what I mean! :)
Again, thank you, and have a wonderful day :)

EDIT:

Bizzarre things here!
If I use this code, and try to run Notepad, I can't click anymore on anything on the first screen ( I have 2 screens )...
I have added everything you suggested to me LESS the control over the visible of the GUI...
What the?!

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile_x64=prova.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>
;#include <WinAPIEx.au3>
#include <Array.au3>

Local $sFileConfigurazione = @ScriptDir & "\configurazione_exe.ini"

Local $aWinList

If(FileExists($sFileConfigurazione)) Then
    Local $aSezioneIni = IniReadSection($sFileConfigurazione, "CONFIGURAZIONE_EXE")
    If @error Then
        MsgBox($MB_ICONERROR, "Errore!", "Errore durante l'apertura del file: " & @CRLF & $sFileConfigurazione & @CRLF & "Errore: " & @error)
    Else
        ; Lancio dell'applicativo indicato nel file di configurazione
        Local $iPID = ShellExecute($aSezioneIni[1][1])
        Local $hWnd = 9999 ; Placeholder for success
        If($iPID <> 0) Then
            Do
                $aWinList = WinList()
                For $i = 1 To $aWinList[0][0]
                    If(WinGetProcess($aWinList[$i][1] = $iPID)) Then
                        $hWnd = $aWinList[$i][1]
                        ExitLoop
                    EndIf
                Next
                Sleep(10) ; Save CPU
            Until $hWnd <> 9999
            Select
                Case $aSezioneIni[2][1] = "MIN"
                    ToolTip("MIN", 0, 0)
                    WinSetState($hWnd, WinGetTitle($hWnd), @SW_MINIMIZE)
                Case $aSezioneIni[2][1] = "MAX"
                    ToolTip("MAX", 0, 0)
                    WinSetState($hWnd, WinGetTitle($hWnd), @SW_MAXIMIZE)
                Case $aSezioneIni[2][1] = "TOP"
                    ToolTip("TOP", 0, 0)
                    WinSetOnTop($hWnd, WinGetTitle($hWnd), $WINDOWS_ONTOP)
            EndSelect
        EndIf
    EndIf
EndIf

EDIT 2:

Even If I copy-pasted your code, it doesn't work for me, launching Notepad...
I don't know why...

Edited by FrancescoDiMuro

Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites
FrancescoDiMuro

BUMP :) 


Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites
Melba23

FrancescoDiMuro,

Change

If(WinGetProcess($aWinList[$i][1] = $iPID)) Then

to read

If WinGetProcess($aWinList[$i][1]) = $iPID Then

and it will work.

Might I suggest NOT placing parentheses around the arguments for If comparisons - they are only really necessary when using Not to make sure you apply the logical operator to only the required part of the expression.

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
FrancescoDiMuro

Good morning @Melba23:)
Thank you for your suggestion... I applied it too, but, unfortunately, it still doesn't work properly...
I tried to launch Notepad.exe...

I don't know why it doesn't work... The window appears in the left-bottom side ( outside the screen ) of the screen...
This is the code:
 

#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>

Local $sFileConfigurazione = @ScriptDir & "\configurazione_exe.ini"

Local $aWinList

If(FileExists($sFileConfigurazione)) Then
    Local $aSezioneIni = IniReadSection($sFileConfigurazione, "CONFIGURAZIONE_EXE")
    If @error Then
        MsgBox($MB_ICONERROR, "Errore!", "Errore durante l'apertura del file: " & @CRLF & $sFileConfigurazione & @CRLF & "Errore: " & @error)
    Else
        ; Lancio dell'applicativo indicato nel file di configurazione
        Local $iPID = ShellExecute($aSezioneIni[1][1])
        Local $hWnd = 9999 ; Placeholder for success
        Do
            $aWinList = WinList()
            For $i = 1 To $aWinList[0][0]
                If WinGetProcess($aWinList[$i][1] = $iPID) And BitAND(WinGetState($aWinList[$i][1]), 2) Then
                    $hWnd = $aWinList[$i][1]
                    ExitLoop
                EndIf
            Next
            Sleep(10) ; Save CPU
        Until $hWnd <> 9999

        Select
            Case $aSezioneIni[2][1] = "MIN"
                WinSetState($hWnd, "", @SW_MINIMIZE)
            Case $aSezioneIni[2][1] = "MAX"
                WinSetState($hWnd, WinGetTitle($hWnd), @SW_MAXIMIZE)
            Case $aSezioneIni[2][1] = "TOP"
                WinSetOnTop($hWnd, WinGetTitle($hWnd), $WINDOWS_ONTOP)
        EndSelect
    EndIf
EndIf

If anyone would help me, I'd be very happy :)
Thanks again and sorry for my requests...


Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites
Melba23

FrancescoDiMuro,

Quote

I applied it too, but, unfortunately, it still doesn't work properly...

That is because you have NOT applied it. You still have:

If WinGetProcess($aWinList[$i][1] = $iPID)

when what you should have is:

If WinGetProcess($aWinList[$i][1]) = $iPID

which is exactly the same error as I corrected above.

Quote

If anyone would help me, I'd be very happy

If you actually read the help you were given, so would we.

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
FrancescoDiMuro

@Melba23
I'm so sorry for not noticing that little change!
I wasn''t payin' enough attention at the code... Sorry for that!

Now it works like a charm :)
Thank you for your time and your patience, and have a wonderful day :)

Francesco 

Edited by FrancescoDiMuro

Click here to see my signature:

Spoiler

Thoughts:

  • I will always thank you for the time you spent for me.
    I'm here to ask, and from your response, I'd like to learn.
    By my knowledge, I can help someone else, and "that someone" could help in turn another, and so on.

/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

ALWAYS GOOD TO READ:

 

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • Emmhor1
      By Emmhor1
      Hi All,

      MAIN QUESTION:
      Is it possible to Call specific function within a GUI

      So I have a script with multiple functions although I don't want to use every function every time.
      My Idea is to create a simple GUI which allows me to select what functions I want to use then run the funtions by clicking a button.
      I have already made a GUI which allows me to select specific .exe's I would like to run after selection it runs the .exe one by one.
      This script is on my work laptops and cannot access it right now.
       
      Who can help me with this?
      GUIcreate
      Func1 
      Func2
      Func3
      Then have a boxes which allows me to select the specif Func.(I used GUIChecked and Unchecked in my other script)
      Then a button which executes/calls the selected functions
    • Blois
      By Blois
      Hi Guis,
       
      I need to create keyboard shortcut to navigate the tabs and activate them, but I could not use the code below:
      #include <TabConstants.au3> #include <WindowsConstants.au3> #include <GuiTab.au3> #include <GUIConstantsEx.au3> HotKeySet("^{TAB}", "_TabRight") HotKeySet("^+{TAB}", "_TabLeft") $gui = GUICreate("test",450, 300) $Tab1 = GUICtrlCreateTab(20, 24, 425, 201) $TabSheet1 = GUICtrlCreateTabItem("Tabsheet 1") $lbContagemGrupos2 = GUICtrlCreateLabel("aaaa", 50, 50) GUICtrlSetColor(-1, 0x0000FF) GUICtrlCreateTabItem("") $TabSheet2 = GUICtrlCreateTabItem(" ") $TabSheet3 = GUICtrlCreateTabItem(" ") GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd Func _TabRight() $CurPos = _GUICtrlTab_GetCurSel($Tab1) _GUICtrlTab_SetCurSel($Tab1, $CurPos + 1) $tab = "$TabSheet" & $CurPos GUICtrlSetState($TabSheet1 + $CurPos, $GUI_SHOW) Return EndFunc Func _TabLeft() $CurPos = _GUICtrlTab_GetCurSel($Tab1) _GUICtrlTab_SetCurSel($Tab1, $CurPos - 1) $tab = "$TabSheet" & $CurPos GUICtrlSetState($TabSheet1 + $CurPos, $GUI_SHOW) Return EndFunc Exit  
      can you help me?
    • Pricehacker
      By Pricehacker
      Hello again!
      I have tried searching for quite some time now but couldn´t find a single working way to change the class of your GUI that doesn´t include changing it manually after its compilation.
      First or "AutoIt v3 GUI" is a pretty boring name tbh and i would like to spice it up a bit, also, and more importantly, I would like to identify my windows by something other than its title as it will change depending on some factors and im using two different programs independently as multi threading isn't supported.
      Any help is appreciated! Thank you!
    • xtcislove
      By xtcislove
      Hello, 
      i have a Problem with  _WinAPI_SetLayeredWindowAttributes, everything is working as excepted if u are on Windows 7.

      But if u are on Windows 10 the transparent background of a control is not clickable anymore. 

      Could someone help?

      Please see example below, put cmd.jpg into the same folder as Example.au3

      Please see trigger.jpg to see which sections are not clickable in Windows 10 (the red dots, the green dots are clickable) on Windows 7 the red ones and green ones are clickable.
       
      The same problem occurs if i use 
       
       
      Example.au3


    • WilliamasKumeliukas
      By WilliamasKumeliukas
      Hello everyones reading this post,
      I'm struggling at resizing properly my radio buttons to fit long text inside without affecting others radio buttons and also adjust position of them relative to the string.
      I tried with _StringSize UDF but I guess im too tired to figure out how to use it correctly..
      I also tried: _Control_SetWidth2Text I found on this forum, it work aslong im not maximizing GUI (radio text is gone when I maximize and maximize is a must)
       
      here is the code example, I hope someone can figure out (sorry if guictrlsetpos is not included in the example, I know thats probably the way to go but I wanted to make sure there is nothing better before use it)
      Thank you
       
      Br,
      ~WilliamasKumeliukas
       
      #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <Array.au3> #include <StringConstants.au3> #include <FileConstants.au3> #include <WindowsConstants.au3> #include <File.au3> #include <EditConstants.au3> #include <GUIListBox.au3> #include <ButtonConstants.au3> #include <ProgressConstants.au3> #include <ColorConstants.au3> #include <AutoitConstants.au3> #include <Misc.au3> #include <WinAPIReg.au3> #include <WinAPI.au3> #Region Opt's Opt("GUIResizeMode", 802) #EndRegion Opt's Global $q = "INTRO LINE" & @CRLF & @CRLF & "description of everything until user press start." Global $file = @TempDir & "\test.p" destroy() Global $msg, $score = 0, $rate, $com, $total = 0, $cfile, $cq, $i = 0, $time = 0, $min = 0, $sec = 0, $hour = 0, $qf, $ii = 0 Main() Func Main() Global $iGUIInitSize = 550 #Region GUI Opt("GUICloseOnEsc", 1) Global $gui = GUICreate("example", 1124, 550,-1 ,-1, BitOR($WS_MAXIMIZEBOX , $WS_MINIMIZEBOX)) Global $gui_size = WinGetClientSize($gui) Global $iFontSize = Int(2 * (.25 + (8 * $gui_size[0] / $iGUIInitSize))) / 2 Global $options = GUICtrlCreateMenu("&Options") Global $guide = GUICtrlCreateMenuItem("Guide", $options) Global $restart = GUICtrlCreateMenuItem("Restart", $options) Global $about = GUICtrlCreateMenuItem("About", $options) Global $exit = GUICtrlCreateMenuItem("Exit", $options) Global $extra = GUICtrlCreateMenu("Extras") Global $creator = GUICtrlCreateMenu("CQB", $extra ) Global $new = GUICtrlCreateMenuItem("custom QP", $creator) Global $load = GUICtrlCreateMenuItem("CQ", $creator ) Global $timer = GUICtrlCreateLabel("", 752, 472, 294, 30, $WS_BORDER) GUICtrlSetResizing(-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER) ) GUICtrlSetFont(-1, $iFontSize) GUICtrlSetState($timer, $GUI_HIDE) Global $info = GUICtrlCreateLabel( $q, 200, 20, 700, 200, $SS_CENTER ) GUICtrlSetResizing(-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER) ) $fi = GUICtrlSetFont($info, $iFontSize) Global $a = GUICtrlCreateRadio("A)", 100, 210, $WS_EX_CLIENTEDGE) $fa = GUICtrlSetFont($a, 15) GUICtrlSetResizing(-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER) ) GUICtrlSetState($a, 16) Global $b = GUICtrlCreateRadio("B)", 100, 310 , $WS_EX_CLIENTEDGE) $fb = GUICtrlSetFont($b, 15) GUICtrlSetResizing(-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER) ) GUICtrlSetState($b, 16) Global $c = GUICtrlCreateRadio("C)", 750, 210 , $WS_EX_CLIENTEDGE) $fc = GUICtrlSetFont($c, 15) GUICtrlSetResizing(-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER) ) GUICtrlSetState($c, 16) Global $d = GUICtrlCreateRadio( "D) ", 750, 310, $WS_EX_CLIENTEDGE) $fd = GUICtrlSetFont($d, 15) GUICtrlSetResizing (-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER) ) GUICtrlSetState($d, 16) Global $sign = GUICtrlCreateLabel( $file, 420, 480, -1, -1, BitOR ( $SS_CENTER, $WS_BORDER ) ) GUICtrlSetResizing ( -1, BitOR ( $GUI_DOCKHCENTER, $GUI_DOCKVCENTER ) ) GUICtrlSetFont($sign, 12) Global $yb = GUICtrlCreateRadio("True", 200, 420, 200, 50, $BS_PUSHLIKE) GUICtrlSetResizing(-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER,$GUI_DOCKSIZE)) GUICtrlSetFont($yb, 15) GUICtrlSetState($yb, 32) Global $nb = GUICtrlCreateRadio("False", 700, 420, 200, 50, $BS_PUSHLIKE) GUICtrlSetResizing(-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER, $GUI_DOCKSIZE)) GUICtrlSetFont($nb, 15) GUICtrlSetState($nb, 32) Global $start = GUICtrlCreateButton("Start", 20, 20, 100, 50, $SS_CENTER, $WS_EX_CLIENTEDGE) GUICtrlSetResizing(-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER)) GUICtrlSetFont($start, 12) Global $valid = GUICtrlCreateButton("Confirm", 20, 20, 100, 50, $SS_CENTER, $WS_EX_CLIENTEDGE) GUICtrlSetResizing(-1, BitOR($GUI_DOCKHCENTER, $GUI_DOCKVCENTER)) GUICtrlSetFont($valid, 12) GUICtrlSetState($valid, 32) GUISetState(@SW_SHOW) #EndRegion GUI While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Switch MsgBox(4096 + 4, "Warning", "Are you sure to exit?") Case 6 AdlibUnRegister("timer") If Not $qf = "" Then FileClose($file) EndIf Exit Case 7 ContinueLoop EndSwitch Case $start ;AdlibRegister("timer") ;Global $qf = StringSplit(StringStripWS(FileRead($file), 6), @CRLF, 0) ;qloop($file) GUICtrlSetData($a, "A) This long string is an example as string that I want to fit in 4 radio buttons because sometimes it can be that long.") GUICtrlSetData($b, "B) This long string is an example as string that I want to fit in 4 radio buttons because sometimes it can be that long.") GUICtrlSetData($c, "C) This long string is an example as string that I want to fit in 4 radio buttons because sometimes it can be that long.") GUICtrlSetData($d, "D) This long string is an example as string that I want to fit in 4 radio buttons because sometimes it can be that long.") Case $restart MsgBox(4096, "Warning", 'Normally, your suposed to start something before restarting it.') ContinueLoop Case $new ;GUISetState(@SW_HIDE, $gui) ;_CustomNew() ContinueLoop Case $load ;_CustomLoad() Case $about ;_About() EndSwitch WEnd EndFunc ;Main() Func timer() If $time = 0 Then Global $time = TimerInit() Global $diff = TimerDiff($time) Global $sec = Int(Mod($diff / 1000, 60)) Global $min = Int(Mod($diff / 60000, 60)) Global $hour = Int($diff / 3600000) If $sec < 10 Then $sec = "0" & $sec If $min < 10 Then $min = "0" & $min If $hour < 10 Then $hour = "0" & $hour GUICtrlSetData($timer, "Temps: " & $hour & ":" & $min & ":" & $sec) EndFunc ;==>timer Func destroy() If FileExists($file) Then FileDelete($file) EndIf DirCreate(@TempDir & "\About") FileInstall("C:\test.txt", $file) EndFunc ;==>destroy  
×