Mbee Posted December 4, 2016 Share Posted December 4, 2016 I've developed a GUI app which works perfectly with its partner app under the most typical scenario, but when it's run after it's partner app is already running in the system tray, it's GUI window absolutely refuses to appear on the screen no matter what I try programmatically! Instead, it just appears as if it's been minimized, and I have to actually click on it in the task bar in order to get it to show on the screen. I've attached a screen shot to help explain what I mean... "My GUI App" is show in the task bar (NOT the system tray) as if it was minimized. It does NOT show on the screen. The related (third-party) app that my app is controlling is shown in the system tray, indicating it is already running. (Ignore the small icon for my app that's also in the system tray). The GUI window refuses to show on the screen until I click where the left arrow is pointing. Here's the code I've tried to display the GUI window on the screen rather than in the task bar: GUISetState( @SW_SHOW, $My_GUI ) WinActivate( $My_GUI ) GUISetState( BitOR(@SW_SHOW, @SW_MAXIMIZE, @SW_RESTORE, @SW_ENABLE), $My_GUI ) None of this works -- manual intervention is required: the user must click the icon in the task bar, which is completely unacceptable. What else can I do? Thanks! Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted December 4, 2016 Moderators Share Posted December 4, 2016 Mbee, Quote What else can I do? Show us all of the script. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Mbee Posted December 4, 2016 Author Share Posted December 4, 2016 57 minutes ago, Melba23 said: Mbee, Show us all of the script. M23 Hi, Melba!! Sorry, it's almost 3000 lines long, and I'd prefer not to publish it. Even if I did, to test it you'd need to pay at least $130 and wait for the order to arrive, then install special hardware and third-party drivers and application software, or it wouldn't work anyway. I don't suppose there's anything else you might suggest? Link to comment Share on other sites More sharing options...
spudw2k Posted December 6, 2016 Share Posted December 6, 2016 (edited) The point(s) where you added the WinActivate and other attempts, have you validated that those lines are actually executing (say, by throwing a msgbox before or after the func call)? Is there another way to validate that your script is loaded and running while it is in this "minimized" state? Got any WinWait* funcs in your script? I'd prefer not to publish it Any chance of posting enough code to make a reproducer script? It's very difficult to troubleshoot something we can't see or touch. Edited December 6, 2016 by spudw2k Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX Builder Misc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retrieve SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose Array Projects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalc Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
Mbee Posted December 15, 2016 Author Share Posted December 15, 2016 Hello again, all. I apologize for the delay, but I've had too many other things on my plate... I've done my best to show as much of my code that's related to my problem as possible, but although it passes the syntax checking, it will NOT actually run. As I said above, there's absolutely no way to post code that will run for you without your substantial financial investment in buying special hardware, etc. I can only hope that the following is enough to allow you to see what I'm doing wrong. Here goes! expandcollapse popup#include <Constants.au3> #include <File.au3> #include <FileConstants.au3> #include <GDIPlus.au3> #include <GUIConstants.au3> #include <GUIConstantsEx.au3> #include <GuiToolbar.au3> #include <Misc.au3> #include <ProcessConstants.au3> #include <StaticConstants.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> ; #include "ExtMsgBox.au3" ; By Melba23 Global Const $Cmy_ThisAppName = "My App" Global Const $Cmy_MainGUITitle = $Cmy_ThisAppName & " v0.99" Opt("MustDeclareVars", 1) AutoItSetOption("WinTitleMatchMode", 3) ; 3 = Matches EXACT titles only AutoItSetOption("MouseCoordMode", 0) ; 0 = Use coordinates relative to Window AutoItSetOption("GUIOnEventMode", 1) ; Enable OnEvent functions notifications (rather than using MessageLoop Mode) Global $G_MyApp_GUI, $G_InitialRun, $G_TargetInReadyState, $G_TargetPID, $G_TargetWinHdl Global $G_MyAppExePath = @ScriptDir & "\MyGUIApp.exe" Global $G_TargetProcName = "TargetApp.exe" Global $G_TargetExePath = "C:\Program Files\" & $G_TargetProcName Global $G_TargetTitle = "Target" ; ; ; Entry Point ; $G_InitialRun = True ; This is the initial execution rather than a re-run $G_TargetInReadyState = False ; Target is not yet in the Ready state _MyChkTargetIsReady() ; Check to ensure target app is in correct state. If not running, launch it and wait until it's in correct state. $G_TargetInReadyState = True _MyUpdStatusMsg("MAIN - Ready to begin --- No longer waiting for user to setup Target app...") ; ; Now Show the Main GUI ; #include "MyApp.isf" ; Create and populate the Main GUI. Sets $G_MyApp_GUI ;!!!! ; ; ATTENTION FORUM READER! ; ; The problem at issue (i.e., my app's GUI window does not appear on screen and instead stays in task bar as if minimized) ONLY ; occurs under the following conditions: The Target app was ALREADY running -AND- in the correct, necessary state BEFORE this app ; was run. If the target app was NOT already running -or- it was not yet in the proper state, this code works fine! ; ;!!!! GUISetState( @SW_SHOW, $G_MyApp_GUI ) WinActivate( $G_MyApp_GUI ) ; Bring to front (sometimes necessary) ;!!!! ; ; ATTENTION FORUM READER! - The following call to GUISetState() was NOT in my original code. ; It was ONLY added to try and fix this weird problem, although it doesn't work either. ; ;!!!! GUISetState( BitOR(@SW_SHOW, @SW_MAXIMIZE, @SW_RESTORE, @SW_ENABLE), $G_MyApp_GUI ) _MyUpdStatusMsg("MAIN - My App GUI SHOULD be on screen!") While True Sleep( 500 ) WEnd Exit ; ; Func _MyChkTargetIsReady() ; ; Check to see if the Target appplication is already up and running. If not, launch it ; Local $Lf_Stat, $Lf_WaitingForRedButton, $Lf_TargetReadyTryCount, $Lf_LoopCount, $Lf_MsgTxt Local $Lf_TargetMainWinStillOpen, $Lf_NumFoundWins $G_TargetPID = ProcessExists($G_TargetProcName) If $G_TargetPID <= 0 Then ; If Target is NOT already active, then... _MyUpdStatusMsg("Proc name: '" & $G_TargetProcName & "' - Is not already running. We'll start it now...") $G_TargetPID = ShellExecute( $G_TargetExePath ) ; This launches Target asynchronously (i.e., without waiting) If $G_TargetPID = 0 Then MsgBox($MB_SYSTEMMODAL, $Cmy_MainGUITitle, "Internal Error launching Target - @error = " & @error & " - Exiting.") _MyErrorCloseAndExit() EndIf ; $G_TargetWinHdl = WinWaitActive($G_TargetTitle, "SomeText", 2*60) ; Wait until after splash/setup window, for a max of 2 minutes If $G_TargetWinHdl = 0 Then MsgBox($MB_SYSTEMMODAL, $Cmy_MainGUITitle, "Exceeded maximum wait for Target Main Window to appear! - Exiting.") _MyErrorCloseAndExit() EndIf Else _MyUpdStatusMsg("_MyChkTargetIsReady() -- Target is already running. PID = 0x" & Hex($G_TargetPID)) EndIf ; ; ; Now we need to find out if Target is already in the system tray/taskbar in Ready mode. To get into that mode, ; the user must have already configured the device and set the output file path and other settings such that it's waiting ; for the Start hotkey/tray action to begin actual data capture. ; ; If that is not yet the case, we need to tell the user to do all that before we continue. ; ; AutoItSetOption("WinTitleMatchMode", 1) ; 1 = Matches titles from beginning, allowing multiples $Lf_TargetMainWinStillOpen = True $Lf_TargetReadyTryCount = 0 $Lf_LoopCount = 0 While $Lf_TargetMainWinStillOpen Local $Lf_WinAra = WinList("Target", "SomeText") ; This SHOULD only match a Target window that's NOT in the taskbar $Lf_NumFoundWins = $Lf_WinAra[0][0] ; Number of matching windows If $Lf_NumFoundWins = 0 Then ; If there are none, it means the main Target window is not running (good!) $Lf_TargetMainWinStillOpen = False ExitLoop Else $Lf_TargetReadyTryCount += 1 If $G_InitialRun Then If $Lf_TargetReadyTryCount <= 20 Then Sleep (1 * 500) Else WinActivate( $G_MyApp_GUI ) $Lf_MsgTxt = "Important!" & @CRLF & @CRLF _ & "It seems that although Target is active, it is NOT yet Ready!" & @CRLF & @CRLF _ & "Before any new data can be captured, you must first use Target to configure its settings, and then " _ & "you must press the Big Red Button in the middle of its screen. Please do that now, or else 'Abort'..." $Lf_Stat = _ExtMsgBoxSet( 2 + 4 + 64, Default, Default, $COLOR_RED, 16, "Candara", @DesktopWidth/3, @DesktopWidth/3 ) $Lf_Stat = _ExtMsgBox( 48, "Ready to Proceed|Abort", $Cmy_MainGUITitle, $Lf_MsgTxt ) If $Lf_Stat = 2 Then ; If the Abort button was pressed... _MyErrorCloseAndExit() ElseIf $Lf_Stat <> 1 Then MsgBox($MB_SYSTEMMODAL, $Cmy_MainGUITitle, "Cancel or Exit requested - Goodbye...") _MyErrorCloseAndExit() EndIf EndIf Else ; If Target in wrong state and this ISN'T the first time through... If $Lf_TargetReadyTryCount <= 20 Then Sleep (1 * 500) Else WinActivate( $G_MyApp_GUI ) $Lf_MsgTxt = "What's going on here? Why haven't you pressed the Big Red Button?" & @CRLF & @CRLF _ & "It seems that although Target is active, it is NOT yet ready to record!" & @CRLF & @CRLF _ & "Before any new material can be captured, you must first use Target to configure its settings, and then " _ & "you must press the Big Red Button in the middle of its screen. Please do that now, or else 'Abort'..." $Lf_Stat = _ExtMsgBoxSet( 2 + 4 + 64, Default, Default, $COLOR_RED, 16, "Candara", @DesktopWidth/3, @DesktopWidth/3 ) $Lf_Stat = _ExtMsgBox( 48, "Ready to Proceed|Abort", $Cmy_MainGUITitle, $Lf_MsgTxt ) If $Lf_Stat = 2 Then ; If the Abort button was pressed... _MyErrorCloseAndExit() ElseIf $Lf_Stat <> 1 Then MsgBox($MB_SYSTEMMODAL, $Cmy_MainGUITitle, "Cancel or Exit requested - Goodbye...") _MyErrorCloseAndExit() EndIf EndIf EndIf EndIf WEnd If $Lf_TargetMainWinStillOpen Then ; If user said Proceed but Target STILL isn't ready, surrender! WinActivate( $G_MyApp_GUI ) MsgBox($MB_SYSTEMMODAL, $Cmy_MainGUITitle, "Target is STILL not in the proper mode for recording!" & @CRLF & _ "Please solve your problems and then try again. I'm exiting now...") _MyErrorCloseAndExit() EndIf AutoItSetOption("WinTitleMatchMode", 3) ; Reset to 3 = Match EXACT titles only $Lf_WaitingForRedButton = True $Lf_TargetReadyTryCount = 0 $Lf_LoopCount = 0 ; _MyUpdStatusMsg("Just about to start Red Button Wait for Title: " & $G_TargetTitle) While $Lf_WaitingForRedButton If _MyIsInTaskbar( $G_TargetTitle, True ) Then _MyUpdStatusMsg("INFO: Target *IS* in taskbar - Title = " & $G_TargetTitle) $Lf_WaitingForRedButton = False ExitLoop Else _MyUpdStatusMsg("INFO: Target is NOT in taskbar - Title = " & $G_TargetTitle) EndIf If $Lf_WaitingForRedButton Then While $Lf_WaitingForRedButton And ($Lf_TargetReadyTryCount <= 5) If _MyIsInTaskbar( $G_TargetTitle, True ) Then _MyUpdStatusMsg("INFO: Inner - Target now *IS* in taskbar") $Lf_WaitingForRedButton = False ExitLoop Else _MyUpdStatusMsg("INFO: Inner - Target is still NOT in taskbar!") EndIf $Lf_LoopCount += 1 If $Lf_LoopCount < 6 Then ; 12 loops at 5 seconds each = wait 1 minute Sleep( 5 * 1000 ) ; Wait 5 seconds Else $Lf_MsgTxt = "Important!" & @CRLF & @CRLF _ & "It seems that although Target is active, it is NOT yet ready to record! Please be sure to DISABLE automatic " _ & "startup of Target and/or ensure Target is NOT already running -- either can cause this error." & @CRLF & @CRLF _ & "Before any new material can be captured, you must first use Target to configure its settings, and then " _ & "you must press the Big Red Button in the middle of its screen. Please switch to the Target window now and do that, " _ & "and when you're ready to go, click the 'Ready to Proceed' button here, or else 'Abort'..." $Lf_Stat = _ExtMsgBoxSet( 2 + 4 + 64, Default, Default, $COLOR_RED, 16, "Candara", @DesktopWidth/3, @DesktopWidth/3 ) $Lf_Stat = _ExtMsgBox( 48, "Ready to Proceed|Abort", $Cmy_MainGUITitle, $Lf_MsgTxt ) If $Lf_Stat = 2 Then ; If the Abort button was pressed... _MyErrorCloseAndExit() ElseIf $Lf_Stat <> 1 Then MsgBox($MB_SYSTEMMODAL, $Cmy_MainGUITitle, "Cancel or Exit requested - Goodbye...") _MyErrorCloseAndExit() EndIf $Lf_TargetReadyTryCount += 1 WinActivate( $G_TargetWinHdl ) ; If we get here, user said ready to proceeed. Bring Target to the fore... Sleep( 2 * 1000 ) ; Now give the user another few seconds before checking again... EndIf WEnd EndIf ; If $Lf_WaitingForRedButton Then MsgBox($MB_SYSTEMMODAL, $Cmy_MainGUITitle, "We've been through this loop several times now, but apparently Target still isn't ready." _ & @CRLF & "Please resolve the difficulties and then launch " & $Cmy_ThisAppName & " again when ready. Exiting...") _MyErrorCloseAndExit() EndIf WEnd Return EndFunc ; ; ; Func _MyIsInTaskbar( $arg_NeededBtnTooltipText, $arg_Exact = False ) Local $Lf_InstanceNum, $Lf_SysTrayHandle, $Lf_SysTrayBtnCount, $Lf_SysTrayBtnText, $Lf_SysTrayBtnIdx For $Lf_InstanceNum = 1 To 10 ; Find systray handles $Lf_SysTrayHandle = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:' & $Lf_InstanceNum & ']') If @error Then ExitLoop ; Get systray item count Local $Lf_SysTrayBtnCount = _GUICtrlToolbar_ButtonCount($Lf_SysTrayHandle) If $Lf_SysTrayBtnCount = 0 Then ContinueLoop Local $Lf_SysTrayBtnTextAra[$Lf_SysTrayBtnCount] ; Look for wanted tooltip For $Lf_SysTrayBtnIdx = 0 To $Lf_SysTrayBtnCount - 1 $Lf_SysTrayBtnText = _GUICtrlToolbar_GetButtonText( $Lf_SysTrayHandle, $Lf_SysTrayBtnIdx ) If $Lf_SysTrayBtnText <> "" Then If $arg_Exact Then If $Lf_SysTrayBtnText = $arg_NeededBtnTooltipText Then Return SetError($Lf_InstanceNum, $Lf_SysTrayBtnIdx, True) EndIf Else If StringInStr($Lf_SysTrayBtnText, $arg_NeededBtnTooltipText, $STR_NOCASESENSEBASIC) = 1 Then Return SetError($Lf_InstanceNum, $Lf_SysTrayBtnIdx, True) EndIf EndIf EndIf Next Next Return SetError(-1, -1, False) EndFunc ;==>_MyIsInTaskbar Func _MyErrorCloseAndExit() Exit EndFunc ;==>_MyErrorCloseAndExit Func _MyUpdStatusMsg( $arg_String ) MsgBox($MB_SYSTEMMODAL, $Cmy_MainGUITitle, $arg_String) Return EndFunc ;==>_MyUpdStatusMsg Thank you for your time! Link to comment Share on other sites More sharing options...
spudw2k Posted December 15, 2016 Share Posted December 15, 2016 Not seeing anything obvious... #include "MyApp.isf" ; Create and populate the Main GUI. Sets $G_MyApp_GUI I wonder if there is something going on with the Global declaration. Can you verify the value of $G_MyApp_GUI before GUISetState(@SW_SHOW, $G_MyApp_GUI)? I'm assuming it's correct since you say you can see the icon in the task bar. Can you share some of the code the creates the GUI? Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX Builder Misc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retrieve SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose Array Projects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalc Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
Mbee Posted December 15, 2016 Author Share Posted December 15, 2016 (edited) 37 minutes ago, spudw2k said: Not seeing anything obvious... #include "MyApp.isf" ; Create and populate the Main GUI. Sets $G_MyApp_GUI I wonder if there is something going on with the Global declaration. Can you verify the value of $G_MyApp_GUI before GUISetState(@SW_SHOW, $G_MyApp_GUI)? I'm assuming it's correct since you say you can see the icon in the task bar. Can you share some of the code the creates the GUI? Sure thing, @spudw2k ! *.isf files are automatically created by the ISN AutoIt Studio tool (it's great if you're careful). Here are the active contents of that file.. expandcollapse popup; -- Created with ISN Form Studio 2 for ISN AutoIt Studio -- ; #include <StaticConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Include <GuiButton.au3> #include <EditConstants.au3> Global $G_MyApp_GUI = GUICreate("My App",638,265,-1,-1,BitOr($WS_POPUP,$WS_CAPTION,$WS_SYSMENU,$WS_MINIMIZE,$WS_MINIMIZEBOX),-1) GUISetOnEvent($GUI_EVENT_CLOSE, "_MyCtrlHdlr_GUIclose", $G_MyApp_GUI) GUISetOnEvent($GUI_EVENT_MINIMIZE, "_MyCtrlHdlr_GUIminimize", $G_MyApp_GUI) GUISetOnEvent($GUI_EVENT_RESTORE, "_MyCtrlHdlr_GUIrestore", $G_MyApp_GUI) GUICtrlCreateLabel("My App",62,2,514,28,$SS_CENTER,-1) GUICtrlSetFont(-1,20,400,2,"Copperplate Gothic Bold") GUICtrlSetColor(-1,"0x008080") GUICtrlSetBkColor(-1,"-2") GUICtrlCreateLabel("Currently Active Stored Profile Info",152.5,42,333,20,$SS_CENTER,-1) GUICtrlSetFont(-1,11,400,0,"Copperplate Gothic Light") GUICtrlSetColor(-1,"0x008080") GUICtrlSetBkColor(-1,"-2") GUICtrlCreateLabel("Recording Filename:",18,127,142,21,-1,-1) GUICtrlSetFont(-1,12,400,0,"Candara") GUICtrlSetBkColor(-1,"-2") Global $G_gVideoNameCtl = GUICtrlCreateInput("",166,127,454,21,$ES_AUTOHSCROLL,$WS_EX_STATICEDGE) GUICtrlSetFont(-1,12,700,0,"Candara") GUICtrlSetTip(-1,"The Filename (only) you want to name the recorded file. The extension is added automatically.") GUICtrlCreateLabel("Duration:",18,169,70,21,-1,-1) GUICtrlSetFont(-1,12,400,0,"Candara") GUICtrlSetBkColor(-1,"-2") Global $G_gDurHoursCtl = GUICtrlCreateInput("00",94,168,30,20,BitOr($ES_CENTER,$ES_NUMBER),$WS_EX_STATICEDGE) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_HoursEntered") GUICtrlSetFont(-1,12,700,0,"Candara") GUICtrlSetBkColor(-1,"-2") GUICtrlCreateLabel("Hrs",134,168,29,21,-1,-1) GUICtrlSetFont(-1,12,700,0,"Candara") GUICtrlSetBkColor(-1,"-2") Global $G_gDurMinsCtl = GUICtrlCreateInput("00",174,168,30,20,BitOr($ES_CENTER,$ES_NUMBER),$WS_EX_STATICEDGE) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_MinutesEntered") GUICtrlSetFont(-1,12,700,0,"Candara") GUICtrlSetBkColor(-1,"-2") GUICtrlCreateLabel("Mins",210,168,37,21,-1,-1) GUICtrlSetFont(-1,12,400,0,"Candara") GUICtrlSetBkColor(-1,"-2") Global $G_gDurSecsCtl = GUICtrlCreateInput("00",256,168,30,20,BitOr($ES_CENTER,$ES_NUMBER),$WS_EX_STATICEDGE) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_SecondsEntered") GUICtrlSetFont(-1,12,700,0,"Candara") GUICtrlSetBkColor(-1,"-2") GUICtrlCreateLabel("Secs",294,168,37,21,-1,-1) GUICtrlSetFont(-1,12,400,0,"Candara") GUICtrlSetBkColor(-1,"-2") GUICtrlCreateButton("Add Minutes:",339,163,105,30,$BS_CENTER,-1) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_AddMins") GUICtrlSetFont(-1,12,400,0,"Candara") GUICtrlSetBkColor(-1,"-2") GUICtrlSetTip(-1,"Number of minutes to extend recording time") Global $G_gAddMinsCtl = GUICtrlCreateInput("01",454,168,30,20,BitOr($ES_CENTER,$ES_NUMBER),$WS_EX_STATICEDGE) GUICtrlSetFont(-1,12,400,0,"Candara") GUICtrlSetBkColor(-1,"-2") GUICtrlSetTip(-1,"Number of minutes to add to recording time") Global $G_OptionsButtonCtl = GUICtrlCreateButton("Options",522,163,78,30,$BS_CENTER,-1) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_Options") GUICtrlSetFont(-1,12,400,2,"Candara") GUICtrlSetTip(-1,"Select Options") Global $G_RecButtonCtl = GUICtrlCreateButton("Record",26,214,100,30,-1,-1) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_BeginRecord") GUICtrlSetFont(-1,12,700,0,"Candara") Global $G_StopButtonCtl = GUICtrlCreateButton("Stop",144,214,100,30,$BS_CENTER,-1) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_StopRecord") GUICtrlSetState(-1,BitOr($GUI_SHOW,$GUI_DISABLE)) GUICtrlSetFont(-1,12,700,0,"Candara") Global $G_ResetButtonCtl = GUICtrlCreateButton("Reset",262,214,100,30,$BS_CENTER,-1) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_ResetRecord") GUICtrlSetState(-1,BitOr($GUI_SHOW,$GUI_DISABLE)) GUICtrlSetFont(-1,12,700,0,"Candara") GUICtrlSetTip(-1,"Abort the current recording and delete the new file") Global $G_ExitBothButtonCtl = GUICtrlCreateButton("Exit Both",378,214,100,30,-1,-1) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_ExitBoth") GUICtrlSetFont(-1,12,400,0,"Candara") GUICtrlSetTip(-1,"Exits both this app and RECentral too") Global $G_OpenFolderButtonCtl = GUICtrlCreateButton("Open Folder",500,214,100,30,-1,-1) GUICtrlSetOnEvent(-1,"_MyCtrlHdlr_OpenFolder") GUICtrlSetFont(-1,12,400,2,"Candara") GUICtrlSetTip(-1,"Opens the folder containing the recorded files") Let me know if you find anything that I should change or test. Edited December 15, 2016 by Mbee fixed some typos Link to comment Share on other sites More sharing options...
spudw2k Posted December 15, 2016 Share Posted December 15, 2016 Defining $WS_MINIMIZE in the GUI style sets the GUI to start minimized. Try removing that. Mbee 1 Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX Builder Misc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retrieve SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose Array Projects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalc Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
Mbee Posted December 15, 2016 Author Share Posted December 15, 2016 1 minute ago, spudw2k said: Defining $WS_MINIMIZE in the GUI style sets the GUI to start minimized. Try removing that. Good catch! I don't know why that's there, but I'll remove it, try it, and report back. Thanks!! Link to comment Share on other sites More sharing options...
Mbee Posted December 15, 2016 Author Share Posted December 15, 2016 @spudw2k, you are a god! Removing that stupid, mistaken setting seems to have completely fixed my problem!! I can't thank you enough! If you hadn't have asked to see that .isf file, who knows if I would have ever figured it out! HOORAY for you!! Link to comment Share on other sites More sharing options...
spudw2k Posted December 15, 2016 Share Posted December 15, 2016 Good deal. Glad you're up and running. Keep up the scripting. Mbee 1 Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX Builder Misc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retrieve SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose Array Projects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalc Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now