外部アプリケーションを呼び出す( スタンバイ状態にする ) :【AIR Flex】

当然 AIR だけでは外部プログラムの実行はできませんので、
HTTP コマンド・リスナー を使用します


ブラウザでダウンロード

COMMAND_LISTENER.exe に対する http 呼び出し
【VBS & PHP】スクリプトからスタンバイ状態にする で作成した VBScript
を呼び出して、スタンバイ状態に移行します。

以下のコードの night の部分を自分の PC に置き換えてビルドします
import mx.controls.*;
import mx.events.*; 
import mx.rpc.events.*;
import mx.formatters.*;
import flash.external.*;
import flash.events.*; 

include "Parts.as"

// *****************************************************
// HTTPServiceを使用してHTTPリクエスト(GET)を行う
// *****************************************************
private function sendData():void {
	// ● リクエストするURLをセット
	// ★ http:// で記述すると、ベースが ローカルでも動作します
	srv.url = "http://night:50000/wscript.exe|shell_standby.vbs";

	srv.method = "GET";
	srv.send();

}

// *****************************************************
// HTTPServiceが成功
// *****************************************************
private function resultHandler(e:ResultEvent):void {


}

// *****************************************************
// HTTPServiceでエラーが発生した
// *****************************************************
private function faultHandler(e:FaultEvent):void {

	Alert.show(e.fault.message);

}
VBScript
呼び出すのは何でも良いのですが、いきなりスタンバイにならないように
その部分はコメントにしてあります
Set WshShell = CreateObject( "WScript.Shell" )
Set Shell = CreateObject( "Shell.Application" )

Shell.ShutdownWindows()

WScript.Sleep 100

WshShell.AppActivate "Windows のシャットダウン"

WScript.Sleep 100

' WshShell.SendKeys "{DOWN}{DOWN}{DOWN}{ENTER}"
その他
アイコン画像は、こちら からダウンロード
できるフリーのアイコンです( 商用は不可 )
WindowedApplication なんですが、ルートのオブジェクトの参照は
WindowedApplication(mx.core.Application.application) で動いています???

画面は systemChrome を使用せずに、Frex Chrome を使用しています
<?xml version="1.0" encoding="utf-8" ?> 
<application xmlns="http://ns.adobe.com/air/application/1.0"> 
	
	<id>airApplication</id> 
	<version>1.0</version> 
	<filename>airApplication</filename> 
	
	<initialWindow> 
		<title>AIR アプリケーション</title> 
		<content>Mainw.swf</content> 
		<x>300</x>
		<y>200</y>
		<width>600</width>
		<height>540</height>
		<systemChrome>none</systemChrome> 
		<transparent>true</transparent> 
		<visible>true</visible> 
		<minimizable>true</minimizable> 
		<maximizable>true</maximizable> 
		<resizable>true</resizable> 
	</initialWindow>

</application>
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication
	xmlns:mx="http://www.adobe.com/2006/mxml"
	initialize="initData();"
	title="   ● Flex Chrome タイトル"
	titleIcon="@Embed('icon.png')"
>

<mx:Style source="extern/Style.css" />
<mx:Script source="extern/Script.as" />

<mx:HTTPService  
	id="srv"  
	showBusyCursor="true"  
	result="resultHandler(event)"  
	fault="faultHandler(event)"  
/> 

<mx:Panel
	title="HTTP サーバー呼び出し"
	horizontalAlign="center"
	verticalAlign="middle"
	width="90%"
	height="90%"
	paddingLeft="10"
	paddingRight="10"
	backgroundColor="0x8A0029"
	backgroundAlpha="0.3"
	color="silver"
>

	<mx:Button  
		id="btn"  
		label="実行"  
		click="sendData()"  
		styleName="blackButton"  
	/>

</mx:Panel>

</mx:WindowedApplication>