Jump to content

(solved)First time trying to create custom tray icon menus


Recommended Posts

Like stated above, I have never really attempted to create tray icon menus simply due to the fact I find them annoying (if I want to minimize a program, I will click "minimize", but if I want to close it, I don't want it to minimize to task bar and require me to close it there), but thought I should try incorporating them into latest script to at least say that I can use them.  However, I am running into a couple of snags/facts I would like to verify.  1) Since tray icons come with their own "GetMsg" function, I just want to verify that, while the continual paging of the tray menu item would still occur within some kind of loop, can the tray menu item events be declared outside and separate from the GUI events?  eg.

While 1
    $tmsg = TrayGetMsg ()
    $nMsg = GUIGetMsg(1)
    Switch $tmsg
        Case $TrayMenu
        Case $settings1
            If TrayItemGetState ( $settings1 ) = 65 Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "No Notifications", "$TRAY_CHECKED" )
            ElseIf TrayItemGetState ( $settings1 ) = 68 Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "No Notifications", "$TRAY_UNCHECKED" )
            Else
            EndIf

        Case $settings2

            If TrayItemGetState ( $settings2 ) = 65 Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", "$TRAY_CHECKED" )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), $WS_EX_TOPMOST, $Form1_1 )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $DS_SETFOREGROUND), $WS_EX_TOPMOST, $Form2 )
                GUISetStyle ( -1, $WS_EX_TOPMOST, $Form3 )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), BitOR($WS_EX_OVERLAPPEDWINDOW, $WS_EX_WINDOWEDGE, $WS_EX_TOPMOST), $Form3_1 )
                GUISetStyle ( -1, $WS_EX_TOPMOST, $Form4 )
                GUISetStyle ( -1, $WS_EX_TOPMOST, $Form5 )
            ElseIf TrayItemGetState ( $settings2 ) = 68 Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", "$TRAY_UNCHECKED" )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), 0, $Form1_1 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form2 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form3 )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), BitOR($WS_EX_OVERLAPPEDWINDOW, $WS_EX_WINDOWEDGE), $Form3_1 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form4 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form5 )
            Else
            EndIf

    EndSwitch

    Switch $nMsg[1]
        Case $Form1_1
            Switch $nMsg[0]
                Case $GUI_EVENT_CLOSE
                    ;ProcessClose ( "pastebutt.exe" )
                    ;ProcessClose ( "PasteButtonhk.exe" )
                    Exit
                EndSwitch
          EndSwitch
     Wend

My second question also involves the above code, but specifically the "Ini" functions which attempt to read a "tray" state flag from an Ini file.  The following is code located at very beginning of script:

Const $path = @AppDataDir & "\filler"
Opt ( "TrayMenuMode", 1 )
OnAutoItExitRegister ( "refresh" )
$nonote = False
$TrayMenu = TrayCreateMenu ( "Settings" )
$settings1 = TrayCreateItem ( "Turn off notifications", $TrayMenu )
TrayItemSetState ( -1, IniRead ( $path & "\infostore.ini", "Tray Settings", "No Notifications", "$TRAY_UNCHECKED" ) )
$settings2 = TrayCreateItem ( "Keep Window on top", $TrayMenu )
TrayItemSetState ( -1, IniRead ( $path & "\infostore.ini", "Tray Settings", "On top", "$TRAY_UNCHECKED" ) )

So the idea is that whenever the user "checks" one of the tray icon menu options, its current "state" will be input into the "ini" file, so that the state of the particular tray menu item will be in the same state as the user left it when the script is launched next.  However, this is not occurring: the ini file contains the "state" flag like it should, but the tray menu item remains unchecked at startup.  Furthermore, the checking or unchecking of "setting1" is not being recognized, as the windows' extended styles do not obtain the "Topmost" flag like they should had it worked.  I get the feeling I'm not getting the "states" of the tray menu items correct.  Any advice?

ini.png

Edited by MattHiggs
Link to post
Share on other sites
  1. It should be only one loop but 2 switch...endswitch regions in this loop are ok.
  2. the value for OnTop isn't correct. OnTop=4  is correct. You used the IniWrite false, it must be:
    IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_UNCHECKED) )

    or:

    IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", 4) )

    Also the IniRead should be:

    TrayItemSetState ( -1, Int(IniRead ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_UNCHECKED ) ))

     

 

Link to post
Share on other sites

OHH.  Ok.  I was under the impression that the only values that any of the INI functions would accept where strings and would at a later point need to be converted to whatever the final variable it should be.  I will give it a shot.

Link to post
Share on other sites
4 hours ago, AutoBert said:
  1. It should be only one loop but 2 switch...endswitch regions in this loop are ok.
  2. the value for OnTop isn't correct. OnTop=4  is correct. You used the IniWrite false, it must be:
    IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_UNCHECKED) )

    or:

    IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", 4) )

    Also the IniRead should be:

    TrayItemSetState ( -1, Int(IniRead ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_UNCHECKED ) ))

     

Yeah.  So this didn't work.  I altered the code as instructed:

Const $path = @AppDataDir & "\filler"
Opt ( "TrayMenuMode", 1 )
OnAutoItExitRegister ( "refresh" )
$nonote = False
$TrayMenu = TrayCreateMenu ( "Settings" )
$settings1 = TrayCreateItem ( "Turn off notifications", $TrayMenu )
TrayItemSetState ( -1, Int ( IniRead ( $path & "\infostore.ini", "Tray Settings", "No Notifications", $TRAY_UNCHECKED ) ) )
$settings2 = TrayCreateItem ( "Keep Window on top", $TrayMenu )
TrayItemSetState ( -1, Int (IniRead ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_UNCHECKED ) ))

and

While 1
    $tmsg = TrayGetMsg ()
    $nMsg = GUIGetMsg(1)
    Switch $tmsg
        Case $TrayMenu
        Case $settings1
            If TrayItemGetState ( $settings1 ) = $TRAY_CHECKED Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "No Notifications", $TRAY_CHECKED )
            ElseIf TrayItemGetState ( $settings1 ) = $TRAY_UNCHECKED Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "No Notifications", $TRAY_UNCHECKED )
            Else
            EndIf

        Case $settings2

            If TrayItemGetState ( $settings2 ) = $TRAY_CHECKED Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_CHECKED )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), $WS_EX_TOPMOST, $Form1_1 )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $DS_SETFOREGROUND), $WS_EX_TOPMOST, $Form2 )
                GUISetStyle ( -1, $WS_EX_TOPMOST, $Form3 )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), BitOR($WS_EX_OVERLAPPEDWINDOW, $WS_EX_WINDOWEDGE, $WS_EX_TOPMOST), $Form3_1 )
                GUISetStyle ( -1, $WS_EX_TOPMOST, $Form4 )
                GUISetStyle ( -1, $WS_EX_TOPMOST, $Form5 )
            ElseIf TrayItemGetState ( $settings2 ) = $TRAY_UNCHECKED Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_UNCHECKED )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), 0, $Form1_1 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form2 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form3 )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), BitOR($WS_EX_OVERLAPPEDWINDOW, $WS_EX_WINDOWEDGE), $Form3_1 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form4 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form5 )
            Else
            EndIf

    EndSwitch

    Switch $nMsg[1]
        Case $Form1_1
            Switch $nMsg[0]
            EndSwitch
            EndSwitch
            Wend

 

The only difference is that now there is no data being saved to the INI file (attached).  Ini Files can only accept strings as forms of input and can only return strings, like I stated above, so I am going to change it back.  Anybody else have any suggestions?

ini.png

Link to post
Share on other sites
4 hours ago, AutoBert said:
  1. It should be only one loop but 2 switch...endswitch regions in this loop are ok.
  2. the value for OnTop isn't correct. OnTop=4  is correct. You used the IniWrite false, it must be:
    IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_UNCHECKED) )

    or:

    IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", 4) )

    Also the IniRead should be:

    TrayItemSetState ( -1, Int(IniRead ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_UNCHECKED ) ))

     

As for where I got the 65 and 68 for the GetState values, I had a message box setup up to give the state of the tray menu item whenever TrayGetMsg received the handle, and it kept including the "enabled" (64) flag as well, which is why I tried that.

 

Link to post
Share on other sites

 

13 minutes ago, MattHiggs said:
4 hours ago, AutoBert said:

...

As for where I got the 65 and 68 for the GetState values, I had a message box setup up to give the state of the tray menu item whenever TrayGetMsg received the handle, and it kept including the "enabled" (64) flag as well, which is why I tried that.

I never said this, but StateValue 65=

  • $TRAY_CHECKED 1 Menuitem will be checked
  • + $TRAY_ENABLE 64 Menuitem will be enabled
if BitAND(TrayItemGetState,$settings1,$TRAY_CHECKED)=$TRAY_CHECKED Then IniWrite ( $path & "\infostore.ini", "Tray Settings", "No Notifications", $TRAY_CHECKED )

writes No Notifications=1 in INI.

Edited by AutoBert
Link to post
Share on other sites
4 minutes ago, AutoBert said:

 

I never said this, but StateValue 65=

  • $TRAY_CHECKED 1 Menuitem will be checked
  • + $TRAY_ENABLE 64 Menuitem will be enabled

 

My bad.  I wrote that.  I don't even know how that happened.  But that is the process I took to try and find out the correct "state" of the tray menu item in order for the functions to start occurring.  I have tried both pairs (1 and 4) and (65 and 68) but neither seem to work.

Link to post
Share on other sites

The code looks the exact same with one small addition:

While 1
    $tmsg = TrayGetMsg ()
    $nMsg = GUIGetMsg(1)
    Switch $tmsg
        Case $TrayMenu
        Case $settings1
            #Region --- CodeWizard generated code Start ---

;MsgBox features: Title=Yes, Text=Yes, Buttons=OK, Icon=None
MsgBox($MB_OK,"State",TrayItemGetState ($settings1))
#EndRegion --- CodeWizard generated code End ---

            If TrayItemGetState ( $settings1 ) = $TRAY_CHECKED Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "No Notifications", $TRAY_CHECKED )
            ElseIf TrayItemGetState ( $settings1 ) = $TRAY_UNCHECKED Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "No Notifications", $TRAY_UNCHECKED )
            Else
            EndIf

        Case $settings2

            If TrayItemGetState ( $settings2 ) = $TRAY_CHECKED Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_CHECKED )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), $WS_EX_TOPMOST, $Form1_1 )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $DS_SETFOREGROUND), $WS_EX_TOPMOST, $Form2 )
                GUISetStyle ( -1, $WS_EX_TOPMOST, $Form3 )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), BitOR($WS_EX_OVERLAPPEDWINDOW, $WS_EX_WINDOWEDGE, $WS_EX_TOPMOST), $Form3_1 )
                GUISetStyle ( -1, $WS_EX_TOPMOST, $Form4 )
                GUISetStyle ( -1, $WS_EX_TOPMOST, $Form5 )
            ElseIf TrayItemGetState ( $settings2 ) = $TRAY_UNCHECKED Then
                IniWrite ( $path & "\infostore.ini", "Tray Settings", "On top", $TRAY_UNCHECKED )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), 0, $Form1_1 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form2 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form3 )
                GUISetStyle ( BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_TABSTOP), BitOR($WS_EX_OVERLAPPEDWINDOW, $WS_EX_WINDOWEDGE), $Form3_1 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form4 )
                GUISetStyle ( $GUI_SS_DEFAULT_GUI, 0, $Form5 )
            Else
            EndIf

    EndSwitch

When the msg box pops up with the state of the tray menu item, it always has the "enabled" flag added in

Link to post
Share on other sites

Last try: this is not a chat, so edit your posts instead of creating a new one every 5 minutes.

Edit1: Here's a older project, just updated to restore the TrayItemsettings: numpad.au3

Restore is done in #78 to 84, save settings is done in 98,99,103,104.

So you see it's possible to store other variables then strings in INI-files, but you must convert it back.

 

Edit2: the tool simulates a numeric pad on keyboard, so use ^o to turn this feature off.

Edited by AutoBert
Link to post
Share on other sites
43 minutes ago, AutoBert said:

 

I never said this, but StateValue 65=

  • $TRAY_CHECKED 1 Menuitem will be checked
  • + $TRAY_ENABLE 64 Menuitem will be enabled
if BitAND(TrayItemGetState,$settings1,$TRAY_CHECKED)=$TRAY_CHECKED Then IniWrite ( $path & "\infostore.ini", "Tray Settings", "No Notifications", $TRAY_CHECKED )

writes No Notifications=1 in INI.

This worked.  Thank you.

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
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By NassauSky
      Hi all,
      The more projects I work on, the harder it is to find old scripts I created with certain techniques in them. I'd like to leave this here for others to get an idea from and it will be available now by keyword searching in this forum.
      This project needed an evenly distributed button grid setup on a touch screen with half decent sized buttons and spacing so the user would be less likely to press the key beside it. Here is one quick example to give anyone an idea of a way to handle it.
      #include <GUIConstants.au3> GUICreate("Button Grid", 1080, 100) ; will create a dialog box that when displayed is centered GUISetState(@SW_SHOW) ; will display an empty dialog box ;--Create and Position Controls Dim $btnActivated[1][2] ;Col 1 is button id, Col 2 is True/False used in 1 example as depressed Dim $btnArray[100][2] ;Col 1 is button id, Col 2 is True/False used in 1 example as depressed $num = 0 $btnActivated[0][0] = GUICtrlCreateButton("Activated", 0, 0, 100, 100) ;x,y,w,h $btnActivated[0][1] = True GUICtrlSetBkColor(-1,0x00ff00) GUICtrlSetColor(-1,0x005500) GUICtrlSetFont(-1,14) For $Y = 0 To 1 For $X = 0 To 7 ConsoleWrite( ($X * 100) + ($X*20) + 120 & @CRLF) If $Y=0 Then $btnArray[$num][0] = GUICtrlCreateButton($num + 1, ($X * 100) + ($X*20) + 120, 0, 100, 40) ;x,y,w,h Else $btnArray[$num][0] = GUICtrlCreateButton($num + 1, ($X * 100) + ($X*20) + 120, ($Y * 40) + $Y*20, 100, 40) ;x,y,w,h EndIf GUICtrlSetBkColor($btnArray[$num][0], 0xFFFFFF) $num += 1 Next Next ;--Set Button Names GUICtrlSetData($btnArray[0][0],"Autoit") GUICtrlSetData($btnArray[1][0],"Is") GUICtrlSetData($btnArray[2][0],"Cool") ; Run the GUI until the dialog is closed While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE ExitLoop Case $btnActivated[0][0] $btnActivated[0][1] = NOT $btnActivated[0][1] If $btnActivated[0][1] Then GUICtrlSetBkColor($btnActivated[0][0],0x00ff00) GUICtrlSetColor($btnActivated[0][0],0x005500) GUICtrlSetData($btnActivated[0][0],"Activated") GUICtrlSetFont($btnActivated[0][0],14) Else GUICtrlSetBkColor($btnActivated[0][0],0xFF9999) GUICtrlSetColor($btnActivated[0][0],0x550000) GUICtrlSetData($btnActivated[0][0],"DeActivated") GUICtrlSetFont($btnActivated[0][0],13) EndIf Case $btnArray[0][0] If $btnActivated[0][1] Then MsgBox(0,"Notice","Btn1",1) EndIf Case $btnArray[1][0] If $btnActivated[0][1] Then MsgBox(0,"Notice","Btn2",1) EndIf Case $btnArray[2][0] If $btnActivated[0][1] Then MsgBox(0,"Notice","Btn3",1) EndIf EndSwitch WEnd I couldn't find one of my old projects that broke the button array into more columns that included the actual button name in the field. Feel free to share your own or share a more flexible version of this simple example.

    • By It_is_me_Me
      I am making some GUI with combobox for the Baudrates communications and I listed 9600, 57600, 115200. 
      I wrote the code to be defaulted to 57600 like this:
      GUICtrlSetData($comboBox_opticalBaudRate, "9600|57600|115200", "57600")
      But I wanted the GUI to remember the last item the user picks so the baudrates will NOT be defaulted to 57600.
      Example, I pick 9600 as my baudrates, then I close the GUI, after opening it, it always prompt 57600 since that is what I did in my code. But I want that if I choose 9600 and close the GUI, opening it again will show 9600 now instead of 57600.
      Is there a way to do it in GUI setting?
       
      Thanks.
    • By ashraful089
      #include <ButtonConstants.au3>
      #include <ComboConstants.au3>
      #include <GUIConstantsEx.au3>
      #include <WindowsConstants.au3>
      #Region ### START Koda GUI section ### Form=C:\Users\Engr. Ashraful\Videos\koda_1.7.3.0\Forms\ProgramPlayer\FormProgamToOpen.kxf
      $FormInput = GUICreate("Input", 302, 205, 454, 285)
      $Resolution = GUICtrlCreateCombo("Resolution", 80, 24, 145, 25)
      GUICtrlSetData(-1, "1920|VM1920|1366")
      $ComboProgramType = GUICtrlCreateCombo("Program Type Selection", 80, 64, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
      GUICtrlSetData(-1, "Multimedia|Official|Design|Web")
      $ButtonEnter = GUICtrlCreateButton("Enter", 104, 104, 75, 25)
      GUISetState(@SW_SHOW)
      #EndRegion ### END Koda GUI section ###
      While 1
          $nMsg = GUIGetMsg()
          Switch $nMsg
              Case $GUI_EVENT_CLOSE
                  Exit
          EndSwitch
      WEnd
       
      please help me to read combo box input and use the value for another function/ work
       
    • By Aapjuh
      Hi,
      I am having a problem properly saving the Width of a resizable Gui.
      When a user resizes the Gui it gets saved in an ini when the Gui closes to then restore the new Width upon reopening the app.
      with GUICreate("myGui",300,200,Default,Default,$WS_SIZEBOX)
      WinGetPos($hGUI) returns 314, and WinGetClientSize($hGUI) returns 298
      when its then saved in the ini the gui keeps expanding or shrinking every time its opened by +14 or -2
      I figure it has to do with borders etc, but i also guess borders depend on the window theme and whatnot or is user specific, so i can't just do $GuiWidth = $GetGuiWidth[arr] -14 or +2 right?

      is there a proper way of doing this?
      Thanks in advance,
      Aapjuh
    • By It_is_me_Me
      I have provided a portion of my script (seen below) and I wanted to use what the USER will input into my IP address box and input box for TCP port. I set the IP address to use 0.0.0.0 as default and the Port to 502. But I want to let the user change it and when they click the buttons (IP Address and Port), the tooltip will show what the USER entered. How can I use the details that the User will input into my input box and IP address box and let them see what they entered when they click the buttons?
       
      Here are the scripts:
      ;-------------------------------------------------------------
      #include <ButtonConstants.au3>
      #include <ComboConstants.au3>
      #include <EditConstants.au3>
      #include <GUIConstantsEx.au3>
      #include <GuiIPAddress.au3>
      #include <StaticConstants.au3>
      #include <WindowsConstants.au3>
      #include <GuiEdit.au3>
      #include <MsgBoxConstants.au3>
      #include <Date.au3>
      #include <TabConstants.au3>
      #include <GuiTab.au3>

      Global $Form1 = GUICreate("Security Automation", 490, 339, -1, -1)
      ;MAIN Tab
      Global $TAB = GUICtrlCreateTab(0, 0, 489, 337)
      Global $tab_main = GUICtrlCreateTabItem("Main")
      $label_Title = GUICtrlCreateLabel("ETP-073 Security", 12, 33, 103, 17)
      GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
      ;-----------------TCP User input information-------------------------------------------------------------------------------
      $groupBox_TCP = GUICtrlCreateGroup("TCP", 12, 49, 289, 57, BitOR($GUI_SS_DEFAULT_GROUP,$BS_FLAT))
      ;TCP IP address
      Global $IPAddress1 = _GUICtrlIpAddress_Create($Form1, 20, 81, 170, 21)
      $Label_ipAddress = GUICtrlCreateLabel("Host IP Address", 20, 65, 80, 17)
      $userInputIP = _GUICtrlIpAddress_Set($IPAddress1, "0.0.0.0")
      ;TCP Port
      $label_tcpPort = GUICtrlCreateLabel("Port", 196, 65, 23, 17)
      Global $input_tcpPort = GUICtrlCreateInput("502", 196, 81, 57, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
      $userPort = GUICtrlRead($input_tcpPort)
      ;TCP Address
      $label_tcpAddress = GUICtrlCreateLabel("Addr.", 260, 65, 29, 17)
      Global $input_tcpDevAddress = GUICtrlCreateInput("1", 260, 81, 33, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
      ;Buttons
      Global $btn_userIP = GUICtrlCreateButton("User IP", 308, 297, 81, 25)
      Global $btn_Port = GUICtrlCreateButton("Port", 404, 297, 75, 25)
      ;Showing the GUI
      GUISetState(@SW_SHOW)
      While 1
         $nMsg = GUIGetMsg()
         Switch $nMsg
            Case $GUI_EVENT_CLOSE
               Exit
            Case $btn_userIP
               ToolTip($userInputIP)
            Case $btn_Port
               ToolTip($userPort)
         EndSwitch
      WEnd
      ;--------------end of script ------------------
       
      Note: There will be a "!->Includefile <WMDebug.au3> not found." Pay no attention to it.
×
×
  • Create New...