현재 실행중인 프로그램을 강제로 재실행 해줘야 하는 기능이 필요할 때가 있습니다.
역시 구글에 검색해보니 방법이 있네요
일단 원글 출처는 https://forums.adobe.com/thread/951952 입니다
하지만 지워질지도 모르니 여기 적어놓겠습니다.
현재 환경은
Flex 버전은 4.6
AIR 버전은 14.0 입니다
웹이 아닌 Windows 기반 프로그램입니다
내용은 간단합니다.
원하는 곳에 아래 소스를 넣기만 하면 됩니다
- public function Reboot():void
- {
- var app:WindowedApplication = WindowedApplication(FlexGlobals.topLevelApplication);
- var mgr:ProductManager = new ProductManager("airappinstaller");
- mgr.launch("-launch "+app.nativeApplication.applicationID+" "+app.nativeApplication.publisherID);
- app.close();
- }
import 도 해줘야 되는데...뭐 어차피 ctrl + space 바 누루다 보면 자동 완성되긴 하지만..;;
아래처럼 넣으면 됩니다
- import adobe.utils.ProductManager;
- import flash.desktop.NativeApplication;
- import mx.core.FlexGlobals;
- import spark.components.WindowedApplication;
그리고 마지막으로 중요한게..
프로젝트명-app.mxml 을 수정해야됩니다. 이거 안하니까 안되더라구요
- <allowBrowserInvocation>true</allowBrowserInvocation>
위에내용이 보통 주석처리 되어있는데 주석 해제하고 true 값 넣어주면 됩니다
위 내용대로 하면 다 되었는데 주의점은 builder에서 debug로 실행하면 작동 안합니다
꼭 release 해서 실행파일일때 실행되어야 재시작 됩니다
'프로그래밍 > 플렉스' 카테고리의 다른 글
C++ MFC 에서 외부 프로그램 실행 (0) | 2016.07.01 |
---|---|
팝업 매니저를 사용해 팝업 add 후 close 했을때 오류 발생 (0) | 2014.11.26 |
installed adobe flash player is not a debugger (2) | 2014.06.24 |
플렉스 빌더 간단한 팁 (0) | 2014.06.18 |
플렉스 정규식 테스트 할 수 있는 사이트 (0) | 2014.06.16 |