// // AutoBinEditor.msl - バイナリオ〜プンスクリプト // $Id:$ // // 【概要】 // Peggyがバイナリファイルと判断したファイルを設定したバイナリエディタで開きます。 // 【使い方】 // このファイルを、 からインクル〜ドしてください。 // // #include "AutoBinEditor.msl" // // 以下の BIN_EDITOR を ご使用のバイナリエディタへのフルパスに変更してください。\\の重ねがけ // は必ずしてください(私はこれではまりました;;) // (例)global.BIN_EDITOR = "C:\\Program Files\\Anchor\\bin\\root\\users\\tsxbin\\TSXBIN.exe"; global.BIN_EDITOR = "C:\\Program Files\\Anchor\\bin\\root\\users\\tsxbin\\TSXBIN.exe"; // // TSXBIN 作者:TSUCHY氏 http://www.net3-tv.net/~m-tsuchy/ // // 注) お使いのバイナリエディタによっては パラメ〜タ等、加工してあげなくてはいけないかも // しれません。このスクリプトでは 特になにもしていませんけど。 // // 【駄文】 // ・編集ウィンドウにも開いてしまうのは、このスクリプトでは仕様とさせてください。 // 全部をバイナリエディタへ丸投げしてしまうのは不都合があると思いますから。 // ・Peggy側でのオ〜プンは編集不可にしていますが、☆部分を削除すれば編集可になります。 // ・閉じる機構を仕込む事は出来ますが、単機能スクリプトでは大仰になってしいます;; // (ちゃんとしたのをいつかつくろかなあ) // // 「これ、何に使うの?」ってのは言いっこなしです:-) // // ・これを伸ばして行って、拡張子判断・マジックナンバ解析等仕込んでいけば任意のファイルを // 他のアプリケ〜ションで起動も可能です^^。 // // 「だからなに?」ってのも言いっこなしです:-) // //【動作確認】 // Peggy Pro 4.60β で動作確認。Eventon.FileOpenが対応してる以前の バ〜ジョンでも動くか // と思います (未確認)。 // require("AddHandler"); var AutoBinEditor = function(theView) { var fileName = theView.getFilePath(); var enc = File.guessEncoding(fileName , 0); if( enc == File.ENCODING_BINARY /* || enc == File.ENCODING_UNKNOWN */){ shellExecute("open", BIN_EDITOR , fileName); theView.setReadOnly(true); // ←☆ココ } return ; }; global.autoBinEditorid = Event.addHandler("onFileOpen", AutoBinEditor);