ちょっとしたプログラム _
2009/5/24 (日)画像を開く際に任意のビューワを選択する _またWinMo,Mortscript,w-zero3,WS011SH話。気がついたら画像ビューワだけで13個も入っているとかアホですか。 以下launch_img.mscr。変数めんどくさいから前回そのまんま。 # * 使い方 :
# "\Program Files\MortScript\MortScript.exe" "\Program Files\MortScript\launch_img.mscr" url="%1"
#選択肢
b[1]="XnViewPocket"
b[2]="XnViewSmartphone"
b[3]="Imageviewer"
b[4]="画像とビデオ"
b[5]="Kinoma Player"
b[6]="mdiapp"
b[7]="evernote"
b[8]="Nasuvi"
b[9]="MobileImageViewer"
b[10]="PicCir"
b[11]="PicPie"
b[12]="MangaMeeyaCE"
b[13]="Photoshop.com Mobile"
#ダイアログを出す
ChoiceDefault( "Open Url", "choose browser", 1, 20, b )
#選択時に応じた実行ファイルと引数を渡す
Case( 1 )
cmd = array("\Storage Card\Program Files\XnView Pocket\xnpocket.exe", url)
Case( 2 )
cmd = array("\Storage Card\Program Files\XnView Smartphone\XnSmartphone.exe", url)
Case( 3 )
cmd = array("\Program Files\ImageView.exe", url)
Case( 4 )
cmd = array("\windows\pimg.exe", url)
Case( 5 )
cmd = array("\Storage Card\Program Files\Kinoma\kp5.exe", url)
Case( 6 )
cmd = array("\Storage Card\Program Files\mdiapp\mdiapp.exe", url)
Case( 7 )
cmd = array("\Program Files\Evernote\Evernote3\evernote.exe", url)
Case( 8 )
cmd = array("\Storage Card\Program Files\NASUVI\nasuvi.exe", url)
Case( 9 )
cmd = array("\Storage Card\Program Files\MobileImageViewer\MobileImageViewer.exe", url)
Case( 10 )
cmd = array("\Storage Card\Program Files\PicCir\PicCir.exe", url)
Case( 11 )
cmd = array("\Storage Card\Program Files\PicPie\PicPie.exe", url)
Case( 12 )
cmd = array("\Storage Card\Program Files\MangaMeeyaCE\MangaMeeyaCE.exe", url)
Case( 13 )
cmd = array("\Storage Card\Program Files\Adobe\Photoshop.com Mobile\Photoshop.com Mobile.exe", url)
EndChoice
#渡されたのを実行する
#message(cmd[1] & "<>" & cmd[2])
Run( cmd[1], cmd[2] )
んで関連付け変更。 file-launch-img-mscr.reg とでもして、FDCsoftさんとこのtaskmgrのregeditからインポートするといいと思う。 REGEDIT4 [HKEY_CLASSES_ROOT\.jpg] @="jpgfile" [HKEY_CLASSES_ROOT\jpgfile] @="jpg format file." [HKEY_CLASSES_ROOT\jpgfile\DefaultIcon] @="browsres.dll,-6704" [HKEY_CLASSES_ROOT\jpgfile\Shell] [HKEY_CLASSES_ROOT\jpgfile\Shell\Open] [HKEY_CLASSES_ROOT\jpgfile\Shell\Open\Command] @="\"\\Program Files\\MortScript\\MortScript.exe" "\Program Files\\MortScript\\launch_img.mscr" url=\"%1\"" [HKEY_CLASSES_ROOT\.gif] @="giffile" [HKEY_CLASSES_ROOT\giffile] @="gif format file." [HKEY_CLASSES_ROOT\giffile\DefaultIcon] @="browsres.dll,-6705" [HKEY_CLASSES_ROOT\giffile\Shell] [HKEY_CLASSES_ROOT\giffile\Shell\Open] [HKEY_CLASSES_ROOT\giffile\Shell\Open\Command] @="\"\\Program Files\\MortScript\\MortScript.exe" "\Program Files\\MortScript\\launch_img.mscr" url=\"%1\"" [HKEY_CLASSES_ROOT\.png] @="pngfile" [HKEY_CLASSES_ROOT\pngfile] @="png format file." [HKEY_CLASSES_ROOT\pngfile\DefaultIcon] @="browsres.dll,-6705" [HKEY_CLASSES_ROOT\pngfile\Shell] [HKEY_CLASSES_ROOT\pngfile\Shell\Open] [HKEY_CLASSES_ROOT\pngfile\Shell\Open\Command] @="\"\\Program Files\\MortScript\\MortScript.exe\" \"\\Program Files\\MortScript\\launch_img.mscr\" url=\"%1\"" [HKEY_CLASSES_ROOT\.bmp] @="bmpfile" [HKEY_CLASSES_ROOT\bmpfile] @="bmp format file." [HKEY_CLASSES_ROOT\bmpfile\DefaultIcon] @="browsres.dll,-6705" [HKEY_CLASSES_ROOT\bmpfile\Shell] [HKEY_CLASSES_ROOT\bmpfile\Shell\Open] [HKEY_CLASSES_ROOT\bmpfile\Shell\Open\Command] @="\"\\Program Files\\MortScript\\MortScript.exe" "\Program Files\\MortScript\\launch_img.mscr" url=\"%1\"" 2009/5/15 (金)URLを開く際に任意のブラウザ&webサービスを選択する _例によってADesつーかWS011SHなるWinMo機向けにmortscriptを書いたという話。 便利気味巡回ツールことuGreaderやRssTodayTickerでブラウザ選んだりは出来ても、GWT決め打ちっつーか、♪串、なーんで決め打ちかね串、GWTこそがエラいのかね串(;´Д`)とりあえずダメもう超ショボちっち、でもヤるかんねおれはもうキッチリ、どーすんの?ビート船長こと、Uno,Dos,Tres,Quatt、うんこーーーーーーーーーーーーーー、と思いつつ全ツールの作者になんか言ってまわるくらいなら手前でどうにかしてしまえ。と、観念してスクリプト書いた。 ファイルlaunch_url.mscrを作って以下をコピペして\program files\mortscriptにコピー。 # * 使い方 :
# mortscript.exe launch_url.mscr url="%1"
#串
px[0]="http://rg0020.ddo.jp/p/?_k_v=2&_k_c=200&_k_u="
px[1]="http://www.google.co.jp/gwt/n?u="
#選択肢
b[1]="[Proxy]NetFront3.3"
b[2]="[Proxy]Iris Browser"
b[3]="Iris Browser"
b[4]="NetFront3.3"
b[5]="[GWT]Iris Browser"
b[6]="Pocket IE"
#選択肢の中で使うブラウザの実行ファイル群
exe_nf33="\Program Files\NetFront33\NetFront33.exe"
exe_iris="\Program Files\Iris Browser\IrisBrowser.exe"
exe_pie="\Windows\iexplore.exe"
#ダイアログを出す
ChoiceDefault( "Open Url", "choose browsers", 1, 10, b )
#選択時に応じた実行ファイルと引数を渡す
Case( 1 )
cmd = array(exe_nf33, px[0] & url)
Case( 2 )
cmd = array(exe_iris, px[0] & url)
Case( 3 )
cmd = array(exe_iris, url)
Case( 4 )
cmd = array(exe_nf33, url)
Case( 5 )
cmd = array(exe_iris, px[1] & url)
Case( 6 )
cmd = array(exe_pie, url)
EndChoice
#渡されたのを実行する
#message(cmd[1] & "<>" & cmd[2])
Run( cmd[1], cmd[2] )
これをhttpに関連付けるレジストリはこちら。http-launch-url-mscr.regとでもファイル作って以下をコピペしてtaskmgrやTRE辺りからインポート。 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\http\Shell\Open\Command] @="\"\\Program Files\\mortscript\\mortscript.exe\" \"\\Program files\\mortscript\\launch_url.mscr\" url=%1" これやっとくと、任意のアプリでURLをクリックした際にmortscriptが選択ダイアログ出して「どの設定で開くよoi」つってくれるので任意の項目選ぶと良しなに開くで酢。 与太 _こういうことやるのにMyMobiler入れとくとほんと便利ですなー。特にMobileExplorerがファイルのやり取りに便利。あとwin32版のmortecript.exeも。 あとはさー、frendfeedの携帯向け串ことfftogoがGWT決め打ちなのをどうにかしたいよね。githubで全ソース公開してくれてるのはいいんだけどpython+django+GoogleAppEngineで書かれたアプリでして。おうちのUbuntu機にどないDeployしたらええのか皆目見当付かなくて大いに困るがとりあえずGAEのSDKの最初の方を読んでみるなどしている。うう。 しかしRssTodayTickerはトランザクションのロックファイルが残ってると動かないんだねー。再起動時に無条件でこれ消すようにしておけばいいのに、なんか有ったのかな。 ♪本当に まさしく夜は明けて(´ー`)寝るねまず夕方まで(あけてねぇ(あけてくれ 2009/3/31 (火)おれとz3plusとmortscriptとnpopとtmailとメール着信とLEDとバイブとお前と大五郎 _おれのアドエス(w-zero3, advanced es, ws011sh)にて、IrisBrowserとQMAIL3の相性が悪いので、nPOPとTMAILでADesのバイブ・LED点灯消灯連携をmortscriptでがんばってみた。 まぁnPOPというか、nPOPuk。こっちのほうが手が加えられていてよい。 未読状況については、外部から読み書きできるメールボックスへの実ファイルへnPOP終了後に反映される。だもんでメールボックスのファイルのタイムスタンプをnPOP終了まで2秒おきにチェック。タイムスタンプに変化、つまり終了後に、メールボックスファイルを1回スキャンして各X-Status行の16桁目が1かどうかチェックして終了する。全て既読ならLED消灯などする。未読を残したままnPOPを終了したときのことは放置。 (編集:20090406-0030)
# 受信時にnPOPをkick&LED点灯から未読完了時のLED消灯まで面倒見るmortscript
#install:
#nPOPと同じフォルダにでもコピー。
#んで各pathとOptionを環境に合わせて見直しとくれ。
#define:
#nPOP本体
file_exe_npop = "\Program Files\nPOPs\nPOPuk.exe"
#tmail本体
file_exe_tmail = "\Program Files\YUUKI\TMAIL\Core.exe"
file_exe_tmail_opt0 = "/ControlTest1" #着信時鳴動用オプション
file_exe_tmail_opt1 = "/ResetLED:A" #未読完了時LED消灯用オプション
#z3plus本体
file_exe_z3plus = "\Program Files\YUUKI\Z3Plus\Z3Plus.exe"
file_exe_z3plus_opt0 = "/Reset" #未読完了時アイコンリセット用オプション
#nPOPのメールボックス本体
file_mailbox="\Application Data\nPOP\MailBox1.dat"
#デバッグ用ステータス窓
StatusMessage( "Step 1", ST_LIST, TRUE )
StatusShow()
#nPopをKickする
ts_mailbox = FileModifyTime( file_mailbox )
Run( file_exe_npop )
StatusMessage('boot npop')
# 未読を保存箱に書き込んだかどうか2秒間隔で20回までチェック
chkloop=20
waittime=2000
While(chkloop > 0)
#メールチェック時に保存箱へのコピーとしてファイルのタイムスタンプを更新しているかどうか
If( ts_mailbox <> FileModifyTime( file_mailbox ) )
StatusMessage('mailbox updated.')
boxstat=0
#mailboxをスキャンする
line =ReadLine( file_mailbox )
While(NOT IsEmpty( line ))
#未読を探す #X-Status: xxxx11
f0 = Find( line, "X-Status:", 0 )
f1 = Find( line, "1", 16 )
boxstat = boxstat + f0 * f1
StatusMessage('mb unread found')
line =ReadLine( file_mailbox )
EndWhile
chkloop=0
Else
#まつ
chkloop=chkloop-1
StatusMessage('mbchk loop sleep:' & chkloop )
sleep( waittime )
EndIf
EndWhile
StatusMessage('mailchk done')
If(boxstat > 0)
#未読があればLED,Vibe
Run( file_exe_tmail, file_exe_tmail_opt0 )
StatusMessage('ring ring')
chkloop=1
Else
#なければ消灯
chkloop=0
StatusMessage('no new mail')
Run( file_exe_z3plus, file_exe_z3plus_opt0 )
Run( file_exe_tmail, file_exe_tmail_opt1 )
EndIf
# nPOP終了時に未読完了→LED消灯まで面倒を見る
# 未読をほったらかしたままnPOP終了してるなら知らん。
waittime=2000
While(chkloop = 1)
#nPOP終了時にファイルのタイムスタンプを更新しているかどうか
If( ts_mailbox <> FileModifyTime( file_mailbox ) )
StatusMessage('npop exited')
boxstat=0
#mailboxをスキャンする
line =ReadLine( file_mailbox )
While(NOT IsEmpty( line ))
#未読を探す #X-Status: xxxx11
f0 = Find( line, "X-Status:", 0 )
f1 = Find( line, "1", 16 )
boxstat = boxstat + f0 * f1
StatusMessage('exite with unread msg')
line =ReadLine( file_mailbox )
EndWhile
chkloop=0
Else
#まつ
StatusMessage('npop exit wait:' & chkloop )
sleep( waittime )
EndIf
EndWhile
#未読が見つからなかったら消灯
If(boxstat = 0)
StatusMessage('no unread')
Run( file_exe_z3plus, file_exe_z3plus_opt0 )
Run( file_exe_tmail, file_exe_tmail_opt1 )
EndIf
それなりに動いた。nPOPを終了させるまでLEDつきっぱなしってどうよとも思うけど。笑い こういうのを書きながら、やっぱPDAアプリは他のツールと連携しやすいようにコマンドラインオプションによるメソッドやプロパティへのアクセス、起動コマンド関連付けができるイベントを豊富に用意しておくべきだなーと思った。svn coしてきたnPOPukをeVC4でいじくる勇気を。 iPhoneアプリでも「バックグラウンド動作は要らない。各アプリ間が適切にメッセージをやり取りできれば済む話だ」というのもそういう話だね。まーアプリ間API整備どうすんの、AppStoreよろしくまた開発者同士で空気の読みあいさせるの?ってのは思うけど。 2006/8/23 (水)自作プラグイン:しぃペインターを使ってみる
なにこれ _
概要 _
ざっくりとした背景 _pukiwikiでは生POSTデータ読めないのよね。けど、しぃからの画像受けるには生POST読めにゃならんのよね。だモンで今までほっとかれてたのかも。てことで、pukiwikiの/attachに適切なファイル名で放り込むスクリプトをPOTI-BOARDの中からパチって改変したらOKだよね。というかそれpicpost.php。ありがたやpicpost.php。ほめよたたえよpicpost.php。 あとしぃペインターでお絵かきする画面出すボタンと、お絵かき画面の表示には既存のpaint.inc.phpを改変して間に合わせてみたよ。 しぃは保存つーかPOST先のURLから"URL:ほげほげ"な文字列が返って来たら、自分を表示しているブラウザでそのURLに帰るっつーかそこにGETメソッド投げさせるらしいので、そこを利用してpukiwiki&プラグインに結果メッセージな配列をserialize()して引数にGETで投げて結果画面ださせようとしてるけどうまくいかなさげ。header("URL:http://ほげほげ");じゃだめなの? あー、ページへの#refタグ自動挿入? あくまでもtechDemoなので手動でお願い _( (_´Д`)_ 漏れは疲れた 動作 _
免責 _超実験中の物です。phpで既存のscriptをhackできるハイスキル暇人にしか使えない代物です。改造元のコードが盲腸のごとく残りまくりです。現実逃避の対象にどうぞ。 2006/8/18 (金)自作プラグイン:title別名表示の試みtitleをブラウザ表示時のみ別名表記できるpukiwikiプラグインを書いてみた。
#html(<div class="rwonly">) カレンダー _
#html(</div>); ページの一覧 _ |
my recent post |
|||||||||||||||||||||||||||||||||||||||||||||||||||