Flashでメッセみたいなのメモ

いろいろまとまったのでメモ。GIZMOに頼らないやり方ね。
Flashのデスクトップアプリでメッセみたいなのやる場合、SWFをアプリとして動かすわけだけどプロジェクタ形式のexeじゃ外部とのやり取りがイマイチ。FSCommand(Flash4からやってて初めて使った)でできる風な話もあるけどセキュリティ強化されてほぼムリ。
だからってswf単体はもっとできることなくて問題外なのでHTAアプリケーションにSWFを張るって方法を取る。これでFSCommandでVBScriptが呼べるのでファイル読み書きなんかもOKってことだ。ついでにSWFの指定をサバ上のURLにしとけばバージョンアップも楽でwebアプリ風味。
VBScriptといってもたいしたことしないので多少javascript書けりゃいけるんじゃね?と思う。つかコピペ+αで。
サーバー上との違いとしてFlashからgetURL→PHPでFlashvarsに入れる→子Flashで受け取りって方法が使えないので、SWF間のやり取りはテキストファイルに出力してそれを子Flashで読むって形。ここでさっきのVBScriptが必須になる。flash単体じゃ入出力ないしローカルだからPHPなんかも使えんしね。
あ、あと、アプリからブラウザ開く時なんだけどシェルでURL入れて開こうとしたらPCによってactiveXのセキュリティ制限がかかる。なのでブラウザはIE限定になるけどシェルにiexplore URLって形で渡せばOK。これで制限ひっかからない。
メッセのメンバーリストのとこだけど、これはログイン処理もかねてDBから全メンバの名前XMLでひっぱってくるPHP書きゃOK。オンラインオフラインの判定はFMSでやるんだけど、FMSにいない奴=オフラインってことで。取り込み中とかもできたけどそのへんめんどいので略。
チャット部分なんかはFMSわかってりゃできるからがんばってくれ。1回目の発言の処理がキモ。
なんてたまにはノウハウ的なことも書いてみた。ネットでいろいろ知らせてもらってるんでたまにはおかえし。
参考
Flash(+HTA+WSH)で作るWindowsデスクトップツール
GIZMO


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です