Jump to content

How to run bat file


 Share

Recommended Posts

I am making a GUI with buttons that will run .bat files. So far, I have looked in help files/other scripts and cannot find how to say "when the "so and so" button is clicked, run this .bat file (example- file named "ip.bat"- that checks IP Address)".

Looks like maybe I found the right code to modify in Online Docs under "GUISetOnEvent " at: http://www.autoitscript.com/autoit3/docs/f...ISetOnEvent.htm

---------------

#include <GUIConstants.au3>

Opt("GUICoordMode",2)

Opt("GUIResizeMode", 1)

Opt("GUIOnEventMode", 1)

$parent1 = GUICreate("Parent1")

GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")

GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")

GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")

$ok1 = GUICtrlCreateButton ("OK", 10, 30, 50)

GUICtrlSetOnEvent(-1, "OKPressed")

$cancel1 = GUICtrlCreateButton ( "Cancel", 0, -1)

GUICtrlSetOnEvent(-1, "CancelPressed")

GUISetState(@SW_SHOW)

; Just idle around

While 1

Sleep(10)

Wend

; END

Func OKPressed()

MsgBox(0, "OK Pressed", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE & " CtrlHandle=" & @GUI_CTRLHANDLE)

EndFunc

Func CancelPressed()

MsgBox(0, "Cancel Pressed", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE & " CtrlHandle=" & @GUI_CTRLHANDLE)

EndFunc

Func SpecialEvents()

Select

Case @GUI_CTRLID = $GUI_EVENT_CLOSE

MsgBox(0, "Close Pressed", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE)

Exit

Case @GUI_CTRLID = $GUI_EVENT_MINIMIZE

MsgBox(0, "Window Minimized", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE)

Case @GUI_CTRLID = $GUI_EVENT_RESTORE

MsgBox(0, "Window Restored", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE)

EndSelect

EndFunc

---------------

Question 1: If I only needed one button ("OK"), can I remove these lines?:

$cancel1 = GUICtrlCreateButton ( "Cancel", 0, -1)

GUICtrlSetOnEvent(-1, "CancelPressed")

Func CancelPressed()

MsgBox(0, "Cancel Pressed", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE & " CtrlHandle=" & @GUI_CTRLHANDLE)

EndFunc

Func CancelPressed()

MsgBox(0, "Cancel Pressed", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE & " CtrlHandle=" & @GUI_CTRLHANDLE)

EndFunc

---------------

Question 2: How do I tell it to run the "ip.bat" file once the "OK" button (which I will rename to "Check IP Address") is clicked?

I think the answer is to modify this line, right?:

Func OKPressed()

MsgBox(0, "OK Pressed", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE & " CtrlHandle=" & @GUI_CTRLHANDLE)

EndFunc

---------------

Thanks,

Mark

Link to comment
Share on other sites

I think I just plug in this lne: RunWait(@COMSPEC & " /c ip.bat") before the EndFunc, right?

------

Func OKPressed()

MsgBox(0, "OK Pressed", "ID=" & @GUI_CTRLID & " WinHandle=" & @GUI_WINHANDLE & " CtrlHandle=" & @GUI_CTRLHANDLE)

RunWait(@COMSPEC & " /c ip.bat")

EndFunc

-----

Thanks,

Mark

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...