Jump to content
Sign in to follow this  
armoros

[Solved] If WinWaitActive - Then Send

Recommended Posts

armoros

Hello my friends

I have this script in witch from a Button on Gui i want to execute a cmd command when it opens and execute the command in cmd window, with a second button i want to send a second command in same cmd window.

But the problem is that i have to click on the opened cmd window to be activated so the second button to be able to send the 2 command.

if you check the script please click first the [ipconfig] button and then the [nbtstat] button cause otherwise don't work. ( my prob is how to have the cmd window activated so to take the 2 command) i know that the script is lame...

Thank you in advance.

#include 
#include 
#include 
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 637, 120, 192, 114)
$Button1 = GUICtrlCreateButton("ipconfig", 40, 90, 75, 25)
$Button2 = GUICtrlCreateButton("nbtstat", 40, 50, 75, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit
  Case $Button1
   $cmd = GUICtrlRead($Button1)
            $pid = Run(@ComSpec & " /k " & $cmd, "")
  Case $Button2
   If WinWaitActive("C:\WINDOWS\system32\cmd.exe") then Send("nbtstat")
            Send ("{ENTER}")
EndSwitch
WEnd
Edited by armoros

[font="verdana, geneva, sans-serif"] [/font]

Share this post


Link to post
Share on other sites
Country73

You are waiting for the cmd window to be active instead of setting it to the Active state.

Take a look at the WinActive, WinActivate

Check to see if it is active: If Active then do this....

If not Active, then Activate the window and do this....


If you try to fail and succeed which have you done?AutoIt Forum Search

Share this post


Link to post
Share on other sites
armoros

Thank you Country73 i will check and i post back.


[font="verdana, geneva, sans-serif"] [/font]

Share this post


Link to post
Share on other sites
armoros

You are waiting for the cmd window to be active instead of setting it to the Active state.

Take a look at the WinActive, WinActivate

Check to see if it is active: If Active then do this....

If not Active, then Activate the window and do this....

Yeah that made the trick Country73 thank you my friend for the help...

here is what i have after your help

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 637, 120, 192, 114)
$Button1 = GUICtrlCreateButton("ipconfig", 40, 90, 75, 25)
$Button2 = GUICtrlCreateButton("nbtstat", 40, 50, 75, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit
  Case $Button1
   $cmd = GUICtrlRead($Button1)
            $pid = Run(@ComSpec & " /k " & $cmd, "")
  Case $Button2
   If WinActive("C:\Windows\System32\cmd.exe") Then
   Send("nbtstat")
   Send ("{ENTER}")
EndIf
            If not WinActive("C:\Windows\System32\cmd.exe") Then
   WinActivate("C:\Windows\System32\cmd.exe")
            Send("nbtstat")
   Send ("{ENTER}")
EndIf
EndSwitch
WEnd

Thank you man ;)


[font="verdana, geneva, sans-serif"] [/font]

Share this post


Link to post
Share on other sites
armoros

Little optimization

Thanks Zedna that is much better than mine.....


[font="verdana, geneva, sans-serif"] [/font]

Share this post


Link to post
Share on other sites
guinness

Why hard code cmd.exe? How about using @ComSpec instead.

MsgBox(4096, '', @ComSpec)

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

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
Sign in to follow this  

×