팩토리 » Api
  
xpluswinexecex
  
Description
윈도우의 실행 창에서 프로세서 실행 옵션을 설정하면서 command 명령을 수행하는 API이다. 반환되는 값은 프로세서를 실행한 경우 정상적으로 프로세서가 실행 되었다면 해당 프로세서의 PID값(0보다 큰값)이 반환된다.
  
  
Parameters
  
    
      | Parameters | 
      Type | 
      Description | 
    
  
  
        
    
        | strCmdLine | 
        STRING | 
 	실행할 명령 | 
      
    
    
        | bShow | 
        BOOL | 
 	실행창 보이게/백그라운드로 (true, false) | 
      
    
    
        | nOption | 
        short | 
 	프로세서 실행 옵션(*Remark 참조) | 
      
  
  
Return Value
  
    
      | Type | 
      Description | 
    
  
  
    
      | long | 
      실행된 프로세서 아이디 | 
    
  
Remark
* 실행 명령을 백그라운드 옵션으로 지정할 경우 윈도우에 보이지 않게 된다.
**nOption (프로세서 실행 옵션) 상수
0 : 기본
1 : 해당 프로세서가 다 Loading된 후 return
2 : 해당 프로세서를 실행 후 해당 프로세서가 종료된 후 return
3 : 해당 프로세서를 실행 후 해당 프로세서가 종료된 후 프로세스의 결과값을 return
** 프로세스의 결과값은 해당응용프로그램에서 아래의 방식으로 반환한 값이다.
    - ExitProcess 또는 TerminateProcess 함수에 지정된 종료 값.
    - 프로세스의 main 또는 WinMain 함수의 반환 값.
*** 문서파일의 경로만 지정하는 경우는 xpluswinexec 를 사용해야 한다.
  
 
  
Example
// sameple1
function btn_winexecex_on_mouseup()
{
	var strCmd = "C:\\Windows\\system32\\calc.exe";
	// 계산기 프로그램을 실행하고 종료될때까지 대기한다.
	factory.xpluswinexecex(strCmd, true, 2);
}
// sameple2
// 메모장실행 후 해당 PID값을 필드에 저장 후 해당 PID값으로
// 프로세서 강제 종료 시키는 예제
function btnWinExec_on_mouseup(objInst)
{
	var nPID = factory.xpluswinexecex("notepad.exe", true, 0);
	// 실행된 메모장의 PID를 필드(fieldPID)에 저장
	fieldPID.settext(nPID);
	factory.consoleprint("processor ID : " + nPID);
}
function btnTerminate_on_mouseup(objInst)
{
	var strPID = fieldPID.gettext();
	if(factory.xpluskillprocessor(Number(strPID)) == true) {
		screen.alert("success..");
	} else {
		screen.alert("fail..");
	}
}
function btn_winexec_on_mouseup()
{
	// csv파일을 실행시
	// csv파일의 기본연결프로그램이 엑셀로 되어있으면 엑셀이 실행됨
	// csv파일의 기본연결프로그램이 메모장으로 되어있으면 메모장이 실행됨
	factory.xpluswinexec("c:\\temp\\text.csv", true);
}
function btn_winexecex2_on_mouseup(objInst)
{
	// 콘솔프로그램(MyConsole.exe)을 실행하고 결과값을 리턴받음
	var strCmd = "D:\\MyConsole.exe param1 param2";
	var ret = factory.xpluswinexecex(strCmd, false, 3);
	alert(ret);
}
  
See Also
xplusisaliveprocessor
xpluskillprocessor
xpluswinexec
  
Viewer Ver.
9.1.1.1
  
Update Date
 20230215