Jump to content

[Solved] If WinWaitActive - Then Send


Recommended Posts

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]

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...