armoros Posted April 13, 2012 Share Posted April 13, 2012 I am trying to create some scripts with cmd commands like thisRun(@ComSpec & ' /kipconfig/all ') compile it to exes and running them .But i want to make buttons in my gui and run the corresponding exe/commandwhat i would like to know if possible, is how to make these exe/commands to open in the same cmd window. (no in different instances of cmd)The Unexpected Result in the title is because i made this script to open my 2 exe/commandsand made me reboot my pc...WARNING do not run this script (it opens very fast lots of cmd windows)#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Local $Button_1, $Button_2, $msg #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 338, 221, 299, 132) $Button1 = GUICtrlCreateButton("ipconfig", 48, 128, 75, 25) $Button2 = GUICtrlCreateButton("netstat", 216, 128, 75, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### asssdd() Func asssdd() While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $Button_1 Run('ipco.exe') ; Will Run ipco.exe that exist in the same folder as the script Case $msg = $Button_2 Run('netstat.exe') ; Will Run netstat.exe that exist in the same folder as the script EndSelect WEnd EndFunc [font="verdana, geneva, sans-serif"] [/font] Link to comment Share on other sites More sharing options...
kylomas Posted April 13, 2012 Share Posted April 13, 2012 armoros, Your variable names do NOT match...$Button_1 in the select stmt, but, $Button1 in the definition... kylomas armoros 1 Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
armoros Posted April 13, 2012 Author Share Posted April 13, 2012 armoros,Your variable names do NOT match...$Button_1 in the select stmt, but, $Button1 in the definition...kylomasThank you Kylomas ur right.... but except my bad script is it possible to open different commands/scripts in same cmd window [font="verdana, geneva, sans-serif"] [/font] Link to comment Share on other sites More sharing options...
kylomas Posted April 13, 2012 Share Posted April 13, 2012 armoros, You'll have to wait for someone with expertise to answer. I rarely, if ever, use the CMD window. Good Luck, kylomas armoros 1 Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
armoros Posted April 13, 2012 Author Share Posted April 13, 2012 armoros,You'll have to wait for someone with expertise to answer. I rarely, if ever, use the CMD window.Good Luck,kylomasThank you my friend you were helpful...I have an issue of passion with cmd [font="verdana, geneva, sans-serif"] [/font] Link to comment Share on other sites More sharing options...
BrewManNH Posted April 13, 2012 Share Posted April 13, 2012 Why are you creating separate exes for the different commands you want to run? Why not just run them directly from the main script, seeing as how the exes you're running are just AutoIt exes? 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 Link to comment Share on other sites More sharing options...
armoros Posted April 13, 2012 Author Share Posted April 13, 2012 Why are you creating separate exes for the different commands you want to run? Why not just run them directly from the main script, seeing as how the exes you're running are just AutoIt exes?Thank you for the response BrewManNH, but i don't understand what you mean ... [font="verdana, geneva, sans-serif"] [/font] Link to comment Share on other sites More sharing options...
rodent1 Posted April 13, 2012 Share Posted April 13, 2012 It's possible, but you need 2 different scripts. If you create a console script WITHOUT GUI and compile it with the option "Create CUI instead of GUI EXE", your compiled script, if run from the cmd box, will read from the cmd box and output to it. That compiled script could launch another autoit script with a GUI and wait for its disappearence or a command from it before it exits. That second (GUI) script has buttons and is compiled with the GUI option. With this setup, the 2 scripts can talk to each other, communicate data, one can read the cmd box and write to it, it's the "puppet", the GUI one is the "puppet master". armoros 1 Link to comment Share on other sites More sharing options...
BrewManNH Posted April 13, 2012 Share Posted April 13, 2012 Thank you for the response BrewManNH, but i don't understand what you mean ... Try this, compile it, then run the resulting exe and see what it does. #region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_UseX64=n #AutoIt3Wrapper_Change2CUI=y #endregion ;**** Directives created by AutoIt3Wrapper_GUI **** GUICreate("") $button = GUICtrlCreateButton(" IPConfig ", 20, 20) $button2 = GUICtrlCreateButton(" NetStat ", 20, 70) GUISetState() While 1 $msg = GUIGetMsg() Switch $msg Case -3 Exit Case $button _IPConfig() Case $button2 _NetStat() EndSwitch WEnd Func _IPConfig() $PID = Run("ipconfig /all", "", @SW_HIDE, 8) While ProcessExists($PID) $line = StdoutRead($PID) If @error Then ExitLoop If $line <> "" Then ConsoleWrite($line & @CRLF) WEnd EndFunc ;==>_IPConfig Func _NetStat() $PID = Run("netstat", "", @SW_HIDE, 8) While ProcessExists($PID) $line = StdoutRead($PID) If @error Then ExitLoop If $line <> "" Then ConsoleWrite($line & @CRLF) WEnd EndFunc This is just a quick demo and you can prettify it however you'd like, but it gives you the general idea of what I'm talking about. armoros 1 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 Link to comment Share on other sites More sharing options...
kylomas Posted April 13, 2012 Share Posted April 13, 2012 armoros, SLightly different from BrewmanNH but same concept (can't type as fast as the Brewman) expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> #include <Constants.au3> Local $Button1, $Button2, $msg, $edit010 $Form1 = GUICreate("Network Properties", 400, 400) $Button1 = GUICtrlCreateButton("ipconfig",10, 10, 75, 25) $Button2 = GUICtrlCreateButton("netstat", 315, 10, 75, 25) $Edit010 = GUICtrlCreateEdit("", 10,40,380,300, $ES_AUTOVSCROLL + $WS_VSCROLL + $ws_hscroll + $es_readonly) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### asssdd() Func asssdd() Local $rslt,$out While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $Button1 $rslt = Run(@ComSpec & " /c ipconfig", @SystemDir, @SW_HIDE, $STDERR_MERGED + $STDOUT_CHILD) ; Will Run ipco.exe that exist in the same folder as the script While 1 $out = StdoutRead($rslt) If @error then exitloop GUICtrlSetData($edit010,$out & @lf,1) WEnd Case $msg = $Button2 $rslt = Run(@ComSpec & " /c netstat", @SystemDir, @SW_HIDE, $STDERR_MERGED + $STDOUT_CHILD) ; Will Run ipco.exe that exist in the same folder as the script While 1 $out = StdoutRead($rslt) If @error then exitloop GUICtrlSetData($edit010,$out & @lf,1) WEnd EndSelect WEnd EndFunc kylomas armoros 1 Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
armoros Posted April 13, 2012 Author Share Posted April 13, 2012 It's possible, but you need 2 different scripts.If you create a console script WITHOUT GUI and compile it with the option "Create CUI instead of GUI EXE", your compiled script, i".Try this, compile it, then run the resulting exe and see what it does.This is just a quick demo and you can prettify it however you'd like, but it gives you the general idea of what I'm talking about.armoros,SLightly different from BrewmanNH but same concept (can't type as fast as the Brewman)kylomas1) Redont1 Thank you for the info you show me the path to try achieve what i want..2) BrewManNH Thank you too for the guidance and the script but when i compile it, opens the gui but nothing else happens .ill test it more.3) Kylomas thank you again its nice your script i had this in my mind after a simillar script from user Country73 Thank you all for the help guys . Now i know more [font="verdana, geneva, sans-serif"] [/font] Link to comment Share on other sites More sharing options...
BrewManNH Posted April 13, 2012 Share Posted April 13, 2012 2) BrewManNH Thank you too for the guidance and the script but when i compile it, opens the gui but nothing else happens .ill test it more.Did you actually press one of the buttons? Because it will display the results of that command in the command window when you do. Although I like kylomas' idea of using an edit box to display the information, much cleaner. 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 Link to comment Share on other sites More sharing options...
kylomas Posted April 13, 2012 Share Posted April 13, 2012 armoros, Something else that I am working on broke my brain so I've been goofing around with this. Here's a more complete way to do this. expandcollapse popup; example of using stdout with network commands #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> #include <Constants.au3> #include <StaticConstants.au3> Local $Gui010 = GUICreate("Network Properties", 800, 600) Local $Button1 = GUICtrlCreateButton("IPCONFIG",10, 10, 75, 25) Local $Button2 = GUICtrlCreateButton("NETSTAT", 90, 10, 75, 25) Local $clear = GUICtrlCreateButton("Clear Display", 700, 10, 90, 25) GUICtrlSetBkColor($clear,0xff0000) GUICtrlSetFont($clear,8.5,800,default,'times new roman') GUICtrlCreateLabel("PARM = ",200,15,75,25) Local $parm = GUICtrlCreateEdit('',250,10,75,25,$ss_sunken) GUICtrlSetFont($parm,12,800) GUICtrlSetState($parm,$gui_focus) Local $Edit010 = GUICtrlCreateEdit("", 10,40,780,550, $ES_AUTOVSCROLL + $WS_VSCROLL + $ws_hscroll + $es_readonly) GUICtrlSetFont(-1,8.5,800,default,'courier new') GUISetState(@SW_SHOW) net_properties() Func net_properties() Local $rslt,$out While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $Button1 $rslt = Run(@ComSpec & " /c ipconfig " & GUICtrlRead($parm), @SystemDir, @SW_HIDE, $STDERR_MERGED + $STDOUT_CHILD) ; Will Run ipco.exe that exist in the same folder as the script While 1 $out = StdoutRead($rslt) If @error then exitloop GUICtrlSetData($edit010,$out & @lf,1) WEnd Case $msg = $Button2 $rslt = Run(@ComSpec & " /c netstat " & GUICtrlRead($parm), @SystemDir, @SW_HIDE, $STDERR_MERGED + $STDOUT_CHILD) ; Will Run ipco.exe that exist in the same folder as the script While 1 $out = StdoutRead($rslt) If @error then exitloop GUICtrlSetData($edit010,$out & @lf,1) WEnd Case $msg = $clear GUICtrlSetData($edit010,"") EndSelect WEnd EndFunc kylomas armoros 1 Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
armoros Posted April 13, 2012 Author Share Posted April 13, 2012 Did you actually press one of the buttons? Because it will display the results of that command in the command window when you do. Although I like kylomas' idea of using an edit box to display the information, much cleaner.Yes i did it compile it and run it but when i press the buttons nothing happens, (i am on a xp sp3 )armoros,Something else that I am working on broke my brain so I've been goofing around with this. Here's a more complete way to do this.kylomasYeah very nice script it gives me an idea..... [font="verdana, geneva, sans-serif"] [/font] Link to comment Share on other sites More sharing options...
armoros Posted April 14, 2012 Author Share Posted April 14, 2012 (edited) Try this, compile it, then run the resulting exe and see what it does. #region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_UseX64=n #AutoIt3Wrapper_Change2CUI=y #endregion ;**** Directives created by AutoIt3Wrapper_GUI **** GUICreate("") This is just a quick demo and you can prettify it however you'd like, but it gives you the general idea of what I'm talking about. I am sorry BrewManNH it was my fault your script is exactly what i wanted but i was so blind that i didn't notice the AutoIt3Wrapper_Change2CUI=y Yes it works perfect Thank you very much.... Thank you also for your permission to use it.. Thank you all guys Kylomas your 2 script is super.. I will use all Edited April 14, 2012 by armoros [font="verdana, geneva, sans-serif"] [/font] 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