다른 외부 프로그램을 실행하는 방법알아보려 합니다. 가장 기본적인 명령어는 Run과 RunWait 을 이용하여 실행하는 방법입니다.

 

먼저 Run 사용 예제 입니다. 

Example()

Func Example()
    ; Run Notepad with the window maximized.
    Local $iPID = Run("notepad.exe", "", @SW_SHOWMAXIMIZED)

    ; Wait 10 seconds for the Notepad window to appear.
    WinWait("[CLASS:Notepad]", "", 10)

    ; Wait for 2 seconds.
    Sleep(2000)

    ; Close the Notepad process using the PID returned by Run.
    ProcessClose($iPID)
EndFunc   ;==>Example

 

Runwait 사용 예제 입니다.

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Run Notepad and wait for the Notepad process to close.
    Local $iReturn = RunWait("notepad.exe")

    ; Display the return code of the Notepad process.
    MsgBox($MB_SYSTEMMODAL, "", "The return code from Notepad was: " & $iReturn)
EndFunc   ;==>Example

 

두 가지 방식의 가장 큰 차이는 Run의 경우 실행 후 다음 코드로 넘어가지만 RunWait의 경우 실행 될때 까지 대기하는 차이가 있습니다.

RunWait의 경우 실행을 알아서 기대려 주는 장점이 있지만, 만약 해당 프로그램이 실행되지 않는 경우 무한 대기에 빠질 수 있으므로 상황에 맞게 사용해야 합니다.

 

두 값 모두 두번째 값은 프로그램 실행 경로 입니다.

 

그 다음 ShellExecute 와 ShellExecuteWait 입니다. Run / RunWait 와 유사한 사용방식을 제공합니다.

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Retrieve the following text file. This can be found in the include folder which is in the installation path of AutoIt.
    Local $sWow64 = ""
    If @AutoItX64 Then $sWow64 = "\Wow6432Node"
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\include\_ReadMe_.txt"

    ; Execute the readme file (.txt) with the default editor used for text files in Windows.
    Local $iPID = ShellExecute($sFile)

    MsgBox($MB_SYSTEMMODAL, "", "PID: " & $iPID)
EndFunc   ;==>Example
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Execute Notepad and wait for the Notepad process to close.
    Local $iReturn = ShellExecuteWait("notepad.exe")

    ; Display the return code of the Notepad process.
    MsgBox($MB_SYSTEMMODAL, "", "The return code from Notepad was: " & $iReturn)
EndFunc   ;==>Example

 

ShellExecute 항목의 장점은 사이트도 바로 실행이 가능하다는 점입니다. 하단 처럼 웹 주소를 주면 메인으로 사용하는 브라우저에서 바로 실행 됩니다.

local $Main_Site ="https://smart-west.tistory.com"
ShellExecute($Main_Site)

 

+ Recent posts