cookiemonster Posted March 17, 2014 Posted March 17, 2014 Hey, So for this question ive knocked together the following quick script which has a debug checkbox at the bottom right, if its turned on then its sets the two debug variables so they are ' /k ' to keep the command window open at end of the command being ran, and 'SW_SHOW' to show the command box, the first debug variable is fine, i seem to be having trouble with it calling @SW_SHOW or @SW_HIDE from a variable Anyone got any ideas? expandcollapse popup#include <GUIConstantsEx.au3> $Main = GUICreate("Command Debug",600,480,-1,-1,-1) GUISetState(@SW_SHOW) Global $button_notepad = GUICtrlCreateButton("Open Notepad", 484, 74, 89, 20) Global $checkbox_debug = GUICtrlCreateCheckbox("Debug Mode", 495, 400) Global $var_debugmode = " /c " Global $var_debugmode2 = "@SW_SHOW" While (1) $nMsg=GUIGetMsg() switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $button_notepad Button() Case $checkbox_debug If _IsChecked($checkbox_debug) Then ;Turn on debug mode $var_debugmode = " /k " $var_debugmode2 = "@SW_HIDE" MsgBox(0, "TEST ANSWER", "You have just turned debug mode on, all cmd windows will be shown and stay open") Else ;Turn off debug mode $var_debugmode = " /c " $var_debugmode2 = "@SW_SHOW" MsgBox(0, "TEST ANSWER", "You have just turned debug mode off, all cmd windows will be hidden") EndIf EndSwitch Wend Func Button() $cmd_notepad = RunWait(@ComSpec & $var_debugmode & 'notepad.exe', "", $var_debugmode2) EndFunc ;==>Button Func _IsChecked($iControlID) Return BitAND(GUICtrlRead($iControlID), $GUI_CHECKED) = $GUI_CHECKED EndFunc ;==>_IsChecked ;RunWait Cmd comspec Information: ; /k keeps it there on new line ; /c closes after complete ; @SW_SHOW shows the command window ; @SW_HIDE hides the command window
Solution BrewManNH Posted March 17, 2014 Solution Posted March 17, 2014 Try removing the quotes from around the macros @SW_HIDE and @SW_SHOW and see if that works. 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 GudeHow 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
cookiemonster Posted March 17, 2014 Author Posted March 17, 2014 So I now have: expandcollapse popup#include <GUIConstantsEx.au3> $Main = GUICreate("Command Debug",600,480,-1,-1,-1) GUISetState(@SW_SHOW) Global $button_notepad = GUICtrlCreateButton("Open Notepad", 484, 74, 89, 20) Global $checkbox_debug = GUICtrlCreateCheckbox("Debug Mode", 495, 400) Global $var_debugmode = " /c " Global $var_debugmode2 = @SW_HIDE While (1) $nMsg=GUIGetMsg() switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $button_notepad Button() Case $checkbox_debug If _IsChecked($checkbox_debug) Then ;Turn on debug mode $var_debugmode = " /k " $var_debugmode2 = @SW_HIDE MsgBox(0, "TEST ANSWER", "You have just turned debug mode on, all cmd windows will be shown and stay open") Else ;Turn off debug mode $var_debugmode = " /c " $var_debugmode2 = @SW_SHOW MsgBox(0, "TEST ANSWER", "You have just turned debug mode off, all cmd windows will be hidden") EndIf EndSwitch Wend Func Button() $cmd_notepad = RunWait(@ComSpec & $var_debugmode & 'notepad.exe', "", $var_debugmode2) EndFunc ;==>Button Func _IsChecked($iControlID) Return BitAND(GUICtrlRead($iControlID), $GUI_CHECKED) = $GUI_CHECKED EndFunc ;==>_IsChecked ;RunWait Cmd comspec Information: ; /k keeps it there on new line ; /c closes after complete ; @SW_SHOW shows the command window ; @SW_HIDE hides the command window but that still doesnt seem to work. When I turn debug on, and click the button, notepad opens, but i then cant close the command debug program, its stuck cause of this variable I think
cookiemonster Posted March 17, 2014 Author Posted March 17, 2014 oh I was being stupid and putting the wrong /c or /k on the wrong varible changes. This works: expandcollapse popup#include <GUIConstantsEx.au3> $Main = GUICreate("Command Debug",600,480,-1,-1,-1) GUISetState(@SW_SHOW) Global $button_notepad = GUICtrlCreateButton("Open Notepad", 484, 74, 89, 20) Global $checkbox_debug = GUICtrlCreateCheckbox("Debug Mode", 495, 400) Global $var_debugmode = " /c " Global $var_debugmode2 = @SW_HIDE While (1) $nMsg=GUIGetMsg() switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $button_notepad Button() Case $checkbox_debug If _IsChecked($checkbox_debug) Then ;Turn on debug mode $var_debugmode = " /k " $var_debugmode2 = @SW_SHOW MsgBox(0, "TEST ANSWER", "You have just turned debug mode on, all cmd windows will be shown and stay open") Else ;Turn off debug mode $var_debugmode = " /c " $var_debugmode2 = @SW_HIDE MsgBox(0, "TEST ANSWER", "You have just turned debug mode off, all cmd windows will be hidden") EndIf EndSwitch Wend Func Button() $cmd_notepad = RunWait(@ComSpec & $var_debugmode & 'notepad.exe', "", $var_debugmode2) EndFunc ;==>Button Func _IsChecked($iControlID) Return BitAND(GUICtrlRead($iControlID), $GUI_CHECKED) = $GUI_CHECKED EndFunc ;==>_IsChecked ;RunWait Cmd comspec Information: ; /k keeps it there on new line ; /c closes after complete ; @SW_SHOW shows the command window ; @SW_HIDE hides the command window
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