2006年03月01日 [長年日記]
_ [DirDiff] DirDiff Ver.0.18 リリース。
掲示板で藤代さんに指摘されてから、2年以上もほっといてしまっていた問題。 私がDirDiffを使わなくなってしまっていて、すっかり修正するのをサボってしまっていた。
んが、最近またDirDiffを使う機会が増えてきたので、やっと重い腰をあげて修正を行った。
…つーわけで、ホント遅くなりましたです。
ちなみに修正点は以下の通り。
- 空白を含むフォルダを指定すると落ちる問題を修正した。
- 検索をする前にフィルタを変更すると、フォルダ名が元に戻ってしまう問題を修正した。
- 検索をする前に保存すると、フォルダ名が元に戻ってしまう問題を修正した。
- ファイルを開く/保存ダイアログで拡張子を付けなかった場合は、 自動で".dd"を拡張子とするようにした。
2006年03月04日 [長年日記]
_ [W-ZERO3] kickmail Ver.1.20 リリース。
某2chスレでこそこそと開発していたソフトを一般公開した。
(このサイト的には)いつのまにか買っていた、W-ZERO3専用のソフトなんだけど、 意外と評判がよろしいようで。
google様やMSN某に「kickmail」といれて検索しては、反応を見てどきどきしている。 反応を見つけたのは今のところ以下の2サイトかな。
_ [W-ZERO3] W-ZERO3 Mail Filter Ver.0.03 リリース。
久々に怒涛の更新。 これまた、2ch某スレでこそこそと作っていたソフトをとりあえず公開してしまった。 まだテストが不十分なんだけど、まぁたぶん動作すると思う。
2006年03月05日 [長年日記]
_ [W-ZERO3] W-ZERO3 Mail Filter Ver.0.10 リリース。
気分が乗っている時は連続更新も苦にならないね。
とゆーわけで、wmfをバージョンアップさせた。 変更点は以下の2点が主。
- 「分類項目」を参照して振り分けを行えるようにした。
- 起動時にbasefolderに該当するフォルダがなければ、 自動振り分け条件の追加を行わないようにした。
あ、あと、戴いたアイコンを取り込んでいる。 2ちゃんねるあいこん置き場の人さんまたまたありがとうですm(_ _)m
_ [W-ZERO3] directtransを仮リリース。
W-ZERO3標準メーラを使いやすくするかもしれないソフト第三弾、 directtransというソフトを仮公開した。
ソフトキー1*1に割り当てて使うことを想定している。 起動したときにメール作成ウィンドウがアクティブになっていたら、 「すぐに送信」「「送信トレイ」へ」という二つのメニューが出て、 「すぐに送信」するとその場で送受信を行ってくれる、というもの。
「送信」してもその場で送受信してくれないW-ZERO3の不思議仕様をどうにかするために作成したんだけど、 なかなか小気味良く動作してくれているので大満足。 ReadMe.txtを書いたら、1.00としていぬソフトにきちんと公開することにしよう。
たま〜に、別のメニューを表示したりするんだけど原因不明…。
*1 通話ボタンの上のハードキーのこと
_ directtransの動作原理。
ひじょーに単純な原理で、以下のような動作をさせている。
- アクティブウィンドウがメール作成ウィンドウかどうか調べる。
- メール作成ウィンドウじゃなければ、左メニューをタップするのと同じ動作をシミュレートして終了。
- メール作成ウィンドウなら、メニューを表示。
- 「すぐに送信」が選択されたら、左メニューをタップするのと同じ動作をシミュレートした後、「HKCU\Software\Sharp\PhoneStatus\Status15=1」にレジストリを変更して終了。
- 「「送信トレイ」へ」が選択されたら、左メニューをタップするのと同じ動作をシミュレートして終了。
ほら、これだけ。
2006年03月06日 [長年日記]
_ [W-ZERO3] directtrans Ver.0.92 リリース。
junkから移動し正式に公開した。
やはりというかなんというか、設定によっては意図しない動作をしてくれてしまったみたいで、 その問題を対処した(つもり)。
私自身はWUPのプロファイルを使って、tmailのときのみdirecttransを起動するようにしていたから全然気がつかなかった…。 テストするときは、いつもtmailを起動させてしまっていたし。
…はい。テスト不足ですorz
_ [W-ZERO3] directtransって名前がイヤ。
このソフトの名前が全然思いつかず、2時間ほどうんうん唸ってとりあえず付けた名前がこれなんだけど。
全然、気に入っていない。
VS2005のプロジェクト名を決めないと開発が始められなかったんで とりあえず付けた名前がこのまま世に出てしまうのがなんとも…。
誰か、小粋なソフト名を思いついてくれませんかね?
_ [W-ZERO3] W-ZERO3のAPI公開を計画?
こりゃいろいろ期待できそう。
_ [W-ZERO3] ぜろさんのウィルコムメールを便利にする
説明下手な私の代わりに、詳細なwmf解説をしてくださいました。 wmfの使い方がよくわからん〜、って人は見てみるといいかもしれないです。
感謝感激ですよ。
2006年03月07日 [長年日記]
_ [tDiary] ついにバージョンアップしてみた。
いままでず〜っと1.5系のままほっといていたんですが、ついに重い腰をあげて2.0にバージョンをあげました。 いろいろトリッキーなことをやってるんで*1うまくバージョンがあがるか不安だったんだけど、最新の一式で上書きしたらさっくり完了してくれました。 これでFilter機能が使えるようになったので、つっこみスパムも怖くない…かな?
後は、古いスパムコメントを消すだけか。 コマンドラインなスパムコメント削除スクリプトはあるみたいなんだけど、パーミッションの関係で動かなそうだなぁ…。
*1 別ページに無理やり最新日記を表示させたりとか
_ [tDiary] counter.rbプラグイン
…でトップページのカウンタを表示させてるんだけど、tDiaryを更新したらカウンタが表示されなくなってしまった。
いろいろ調査した結果、counter.rbに以下の修正を自分でしていたのをすっかり忘れて上書きしてしまったのが原因だったことが判明した。 備忘録として、修正内容をここに書いておこう。
if ["latest", "month", "day"].include?(@mode) and ↓ if ["top", "latest", "month", "day"].include?(@mode) and
_ [W-ZERO3] directtransの名前。
いろいろと案を戴きましてありがとうございます。 戴いた候補はこんなところですか。
- Mail2go
- shootmail
- 送信君
- directmail
「shootmail」がいいかな〜と思っているところですが、まだ決めかねてます…。
_ [W-ZERO3] directtransのReadMeがわかりにくいぞこのやろう。
仰る通り、確かにわかりにくいですねぇ。
文案をいくつも戴いているので、名称を正式決定させるタイミングまでにはなんとかわかりやすいReadMeにしていきたいと思ってます。 どの画面が表示されているときにどの動作をするのか、表にでもするといいんですかねぇ…。
_ [tDiary] RSSを作成するようにした。
makerss.rbってプラグインがあったのでさくっと導入。
左上右上に「RSS」ってリンクがあるのでそこから持っていってくだせぇ。
昔は最後に作成した日記のみがrdfに入るだけっていう仕様だった気がしたんだけど、 世の中は進んでるんだね。 浦島状態ですorz
2006年03月08日 [長年日記]
_ [tDiary] RSSの問題。
やったことのメモ。
指摘された、/saru/が余計についちゃう問題は、tdiary.confを以下のように修正することで解決した。
@index = '/saru/' @update = '/saru/update.rb' ↓ @index = 'http://www.momo-lab.net/saru/' @update = 'http://www.momo-lab.net/saru/update.rb'
また、RSSのリンクをクリックすると(IEだと)ダウンロードなダイアログが出ちゃう件は、「RSSのMIME TYPE設定」にしたがって.htaccessを修正することで解決した。
_ [W-ZERO3] SendNow Ver.1.00 リリース。
directtrans改め、SendNowの1.00をリリースしました。 ほとんど「shootmail」に決まりかけてたんだけど、 よりソフトのやることを端的に表してる「SendNow」に軍配が上がりました。
名前案を出していただいた皆様、ありがとうございました。 「すぺしゃるさんくす。」に皆様のお名前を挙げさせてもらっています。 私なりの感謝の表し方なのですが、名前を出したくない方はご一報くださいませ。
で、主な修正点は以下の通り。
- 使用し続けていると、急に動作しなくなる問題を暫定修正。
- 送信トレイにメールがなければ、送受信しないようにした。 これで、メール作成画面で「送信」したときにエラーが出た時には 送受信を行わないようになった。
- ReadMeの説明を修正。これで少しわかりやすくなったかな。
まんぼうさん、ありがとうございました。 なんとなく対処したつもりですが、これでどうでしょうか…。
_ [W-ZERO3] ぜろさんのウィルコムメールを更に便利にする
「ぜろさんのウィルコムメールを便利にする」でwmfの解説を書いてくださったつまっちさんが、今度はSendNow(説明はdirecttransですが用法は同じです)の解説を書いてくださっています。 またまた、説明下手な私の代わりに詳細な解説ありがとうございますm(_ _)m
wmfの解説も0.10用に更新していただいているようですので、こちらも併せて見てみてくださいませ。
_ [W-ZERO3] メールの削除が難しい。
…とのことなんですが、いまいち状況が見えません。。。
まず、wmfにはメールの削除機能というものはありません。 「削除済みアイテム」に振り分けたいということでしょうか? もしそうであれば、以下のように設定することで「削除済みアイテム」へも振り分けが可能です。
[070xxxxxxxx\削除済みアイテム] pattern=1:test@example.com
これで、test@example.comからのメールは削除済みアイテムへ移動します。
もし認識違いであれば、具体的にやりたいことと現状を教えていただけると嬉しいです。
2chで言っていることも、同じ件なんでしょうかねぇ…。
_ [W-ZERO3] W-ZERO3 Mail Filter Ver.0.11 リリース。
時間がないのでとりあえずリリース報告だけ。
- 起動中は砂時計を出すようにした。
- メッセージ表示画面が開いていたら、その画面は一度閉じるようにした。 これで、振り分けたメールが開けなくなる問題は解消されたはず。
- Fromのないメールがあると落ちる問題を対処したつもり。
- exeファイル名をwmfm.exeに変更しても、/noreadパラメータ相当の 動作をしなかった問題を修正。
頂いた問題はほぼ解決しているかと思います〜。
2006年03月09日 [長年日記]
_ [W-ZERO3] SendNo Ver.1.00 リリース。
SendNowだといきなりメールが送信されて不安だというそこのあなた! メールを送る前にはちゃんと内容を確認しないと不安だというそちらのあなた!
送信前に、ホントに送っていいのかちゃんと確認してくれる、しつこいくらい確認してくれる、「SendNo」が開発されました。
是非一度お試しください!
.
.
.
ごめんなさい。2chで見てやってみたくなっただけですorz
_ [W-ZERO3] wmfで振り分けたメールが開けない。
…ことがまだあるみたい。
私のほうでは再現しなくなったんだけど…と思っていたんだけど、 さっき一回だけ同じ現象が発生してしまった。 同じ手順でやってみても、今度は問題なし。
再現性がない問題だとすると、なかなか対処が難しそうです。
どなたか、この現象の再現手順がわかったら是非教えてくださいませm(_ _)m
_ [W-ZERO3] kickmail Ver.1.30 リリース。
変更点は以下の通り。
- 「kickmailm.exe」の判定ロジックがおかしかったのを修正した。 STLわかってないことがばればれ…orz
- 既に開いているメール表示ウィンドウは、一度閉じるようにした。
- /dirオプションを追加した。
/dirオプションをつけて起動すると、フォルダ表示ツリービューが表示されるようになります。
_ [W-ZERO3] /dirオプションの今後。
一番組み合わせても嬉しくないkickmailにこの機能を付加するあたりどーよとか思うんですが、まずは実験ということで勘弁してください。 wmfへは組み込もうと思っていますが、SendNowへの組み込みには消極的です。 ソフトキー割り当てを節約する意味では、SendNowと組み合わせるのが最適解っぽいんですが、SendNowがが実現するべき機能とはかけ離れているような気がして…。
「Softkey1 Hook Interface For Tmail.exe(SHIFT)」*1ってことにしてSendNowと組み合わせるのがいいんですかねぇ…。 tmailはメール一覧画面、メール表示画面、メール作成画面で成り立っているので、そのそれぞれのソフトキー1をより(私が)使いやすい機能に塗り替えてしまうソフト、という位置付けにする、と。
要は名前の問題なだけなのかもしれません。
*1 すいません。名前は略称を作るためだけに決めました。英語としてはダメダメっぽい気がしますorz
2006年03月10日 [長年日記]
_ [W-ZERO3] 窓の杜 - 【NEWS】“W-ZERO3”の標準メールソフトでPDXメールを振り分け「W-ZERO3 Mail Filter」
窓の杜でウチのソフトが紹介されてしまいました。びっくり。
カウンタも昨日の数倍の速さで回っているようです。
ちなみに。
メール本文を閲覧中に本ソフトを起動すると、本文の閲覧画面が閉じられて“受信済みアイテム”フォルダが開く。したがって、未読のPDXメールを自動的に開く設定にし、W-ZERO3のハードキーに本ソフトを割り当てれば、そのハードキーを押していくだけで続けて未読PDXメールの本文閲覧が行え、同時にメールの振り分けも行えるわけだ。
この使い方、私も同じように使ってます。 特にこういう使い方の紹介をしていなかったと思うんですが、気付いてくれたようでなによりです。
_ [W-ZERO3] そーゆー意味だったのか。
着信音の鳴り分けは、今の設計思想では実現が難しいですねぇ。 どっちかっていうと、tmail_qmail3との方が機能的には相性がいいかもしれない。
_ [W-ZERO3] 何の紹介をしてるんですか(笑)。
とはいえ、アレができた経緯はわかるようになってますね。
2006年03月13日 [長年日記]
_ [JavaScript] prototype.js。
久々に買ったWEB+DB PRESS Vol.31に載っていたprototype.jsのソースを読んでみた。 Hashのリテラルをクラス定義の記法として使うところなんかは見事なアイディアだね。メソッドの定義はrubyを参考にしてるっぽいところがあるから、習得には時間はかからなそう。
今度のプロジェクトに使ってみようと思うので覚えておこう。
_ [W-ZERO3] SandR。
ってことで、メールの送受信を行うだけのソフトを作るつもりなんだけど、 ただSendNowの送受信部分を持ってくるだけじゃ(私が)つまらないので、 別の方法で実装してみることにした。
SendNowではレジストリキーを書き換えることで、そのレジストリを監視しているらしいSHARPのなんかのソフトが自動的に送受信をしてくれる、という仕組みで動いている。 これだと、ActiveSync中にメールの送信をしちゃって「あ〜失敗した〜」ってなってももう後の祭りで、受信に失敗するのを指をくわえて見ていないといけない。さらにそのときに「センターにEメールがあります」とか言われる。「お。メールかなどきどき」とか思いながらUSBケーブルはずして再度送受信しても、とーぜんながらメールはない。「どーせ私にゃそんなに頻繁にメールなんて来ねぇようわぁぁぁん」とか自暴自棄になっちゃうわけなのであるよ。
…そんな話はどーでもよくて。
結局、メール送受信時のメッセージがうざったいわけですな。 これを全部自力で実装することで思うように送受信ができるようになるといいな、と。
やらなきゃいけないことはこんなものか。
- ActiveSync中かどうかをチェックする。
- ActiveSyncを問答無用で切る。
- ダイヤルアップする。
- メール送受信する。
- ダイヤルアップ切る。
- ActiveSync復活。
で、まずは既にソフトもあるのでできるはずだ〜と思いながらダイヤルアップの接続/切断を実装してみているわけだけど。 いきなり挫折してしまった。
切断はRasHangUpでいけたし、接続中チェックはRasEnumConnectionsでいけたんだけど、接続がうまくいかない。 セオリーどおりRasDialしたんだけど、「PT」マークは出ても矢印にはペケがついたままになってしまう。 ぐーぐる様に聞いてみるとConnMgrEstablishConnectionSyncというのがあるらしいのでこいつを使ってみたら、一瞬接続はされるんだけど、なぜかその後すぐに切断されてしまう。CONNMGR_CONNECTIONINFO構造体の設定が悪いんだと思うけどなんだかうまくいかない。
とりあえず、他のことから手をつけて頭をすっきりさせてから再挑戦することにしよう。
_ [W-ZERO3] W-ZERO3 Mail Filter Ver.0.20 リリース。
受信済みアイテム以外のフォルダも振り分け可能になったVer.0.20を公開します。これで、もかなえられたと思います。 フォルダごとに振り分け条件を変えることができないのが難点ではありますけど、まずはこれでお試しください。
他の細かい点も含めた、変更点は以下の通り。
- targetセクションを追加し、受信済みアイテム以外のフォルダの振り分けも可能にした。
- showdirオプションを追加した。
- 二重起動したら、二回目の起動はムシするようにした。
- wmf.cppをリファクタリング。filter.cppとmakesetting.cppとして分離させた。
- 生成されるiniファイルのセクション名の前に空行を設けた。
_ [W-ZERO3] wmfで相談。
今のwmfって、/noreadパラメータ&wmfm.exeの名前変更による未読メール表示って仕様なんですけど、 wmf.iniがある以上、コマンドラインパラメータである必要性がなくなっている気がしています。 以下のようにしてしまいたいのですがいかがなものでしょうか。。。
- /noreadパラメータは廃止する。
- wmfm.exeという名前変更によるオプション指定も廃止する。
- 設定ファイル(wmf.ini)に、shownoreadオプションを追加する。
- shownoreadオプションが「1」のときは未読メールを表示(/noread相当)し、「0」の時はメールの表示は行わない。
- shownoreadオプションのデフォルトでは1とする。
_ [W-ZERO3] さっそく繋がらないわけですが。
見れてる人もいるみたいなんですけどねぇ。 まだ正式公開前なんでしょうか。
あ、ただいま3/13 24:35ってところです。
(2006/03/14追記)
フルブラウザ搭載のウィルコムの電話機(W-ZERO3除く)
…ちゃんと「W-ZERO3除く」って書いてあるじゃん。よく読めよ、自分…orz
_ [W-ZERO3] メールのバックアップについて考える。
まずは、wmfのオプションのことについてコメントいただいた皆様、ありがとうございます。 もーちょっと考えた上で、方向性を出したいと思います。
で、ここでの話題はメールのバックアップのコメントのこと。
私もwmfを作りながら、メールのバックアップをする機能をなんとか作れないかな〜と思っていました。
まず考えたのが、メールをOutlook メールのアカウントに移動して、ActiveSyncで連携できないか、ということ。幸い、wmfは別アカウントへの移動も可能でしたので、早速試してみました。もう何やったんだか忘れちゃうぐらいいろいろ試しました。 …結局わかったのは、pdxなメールを無理やりOutlookメールのアカウントのフォルダに移動させて同期しようとすると、PC側の状態を正と捉えているのか、W-ZERO3側にあるpdxなメールが消えてしまう、ということ。 もしかしたら私のやり方がまずいだけなのかもしれないのですが、結局解決には至らなかったので挫折しています。
次に考えたのが、特定のフォルダ以下にあるメールを全て別のメールアドレスへ転送してしまう、という案。MAPIにはメールを送信するAPIがあったハズなので実現は可能でしょう。 まだ試してみていないのですが、転送する際にどうしても変わってしまうヘッダについて許容できるのであれば、これはありなんじゃないかと思っています。 次点として、これは実現可能かどうかわかりませんが、特定のフォルダ以下にあるメールを全て添付させて別のメールアドレスに送ってしまう、という案も考えられます。 こっちのほうがメールサーバにはやさしいかもしれません。
ちょっと別のアプローチとして考えられるのが、\Windows\Messageing以下をバックアップしちゃえばいいんじゃない?という案。 こいつをバックアップ&リストアして、ちゃんとtmail.exeで読めるメールになるかどうかはわかりませんが。なんかうまくいかないような報告があったよーな記憶があるんですがもう覚えていないようです。 まぁ一応、テキストな形式でメールデータがありますから、読もうと思えばなんとか読めますしね。
つか、標準のバックアップツール使えばいいんじゃね?とか思ったんですけどなんだか評判もよくないようで私も使ったことないんですよね。。。
とまぁ、こんな感じで考えていたりします。 メールバックアップのための転送ソフト、というのは作ってみる価値はあるかもしれませんね。 まぁオンラインサインアップで別アドレスに転送すりゃいいんじゃないって話もありますが、過去メールを救済する意味では役に立つ場面もあるでしょうしね。
2006年03月15日 [長年日記]
_ Subversion。
最近作っているソフトのソースをSubversionで管理することにした。 今まで、家と会社の間をW-ZERO3を使って持ち運びしていたのだが、いい加減面倒になってしまった為である。 そんなのActiveSyncで一発じゃんって話もあるのだが、Visual Studioの作るデバッグ用のファイルがひとつ数MBと大きいため、ActiveSyncでシンクロさせちゃうとW-ZERO3のストレージがいっぱいいっぱいになっちゃうのだ。 MobSyncを使えばminiSDにシンクロできるとは思うんだけどシェアウェアなのもあってなんとなく食指が動かず…。
とまぁ、そんなわけで借りてから2年ほどほっぽらかしてあったさくらインターネットに借りているレンタルスペースにSubversionを突っ込んで、そこでソースを管理してみることにした。 幸いとゆーかなんとゆーか、私のためにあるような解説サイトがあったので言われた通りにインストール&セッティング。 ほとんど躓くことなしに、リポジトリまでは作成された。
で、この後解説ではPuTTYgenを使って公開鍵&暗号鍵を作りなさい、とあったのだが、ここで苦戦を強いられてしまった。 まぁ、結論から言えば、言われた通りにやらなかった私が悪いのだが…。
telnetするのにPoderosaを使っていたため、こいつで生成した鍵をサーバに突っ込んでいた。 さらに、TortoiseSVNというものを使ってみたかったのでこちらの解説も参考にして、(PuTTYと共に公開されている)plinkを使わずTortoisePlinkを使用しようとしていた。 というわけで、鍵のフォーマットなんてどれもいっしょだと信じて疑っていなかった私は、この公開鍵のファイルを指定して、TortoiseSVNの設定の「ネットワーク」の「SSHクライアント」に「TortoiseSVNのホーム\bin\TortoisePlink.exe -l ユーザ名 -i 暗号鍵ファイル名」と指定して実行した。
「Unable to write to standard output (stdout)」とエラーメッセージがでてしまい、うまくいかない。
いろいろ適当に設定を変えながらやってみてなんとかうまくいったのだが、結局以下のようにしないといけなかったようだ。
- plink(TortoisePlinkはこいつの派生版(?)らしい)が使う暗号鍵は、PuTTYgen.exeを使って生成したものでないといけないらしい。 ただし、PuTTYgen.exeで生成した暗号鍵では今度はPoderosaではログインできなくなってしまう。 ということで、Poderosaで生成した暗号鍵をPuTTYgen.exeでインポートして、PuTTYgen.exe側で暗号鍵ファイルを再生成してやるとよいようだ。
- TortoiseSVNの「SSHクライアント」の設定にはTortoisePlinkを指定してやるのがよさそうだ。
- で、このままだと何度となくパスフレーズを聞かれるので、Pageantは導入するべきだ。(ただし、セキュリティには気をつけよう)
コマンドラインからsvnを叩いたときにsvn+sshを有効にするには、C:\Document And Settings\[user]\Application Data\Subversion\configを開き、以下のように設定する必要がある。
[tunnels] ssh = $SVN_SSH plink
さて。 後は、今まで作ってきたソフトのソースをSubversionに突っ込んで、Subversion自身について覚えていかないと…。
2006年03月16日 [長年日記]
_ ITmedia +D PCUPdate:腕時計型のウェアラブルPC、欧州のメーカーが開発。
うわー。すげぇ欲しい。
無線LANにBlueToothにIrDAと通信手段が多いのがいいね。バッテリも6時間持つらしいし。 これにW-SIMとか載らないかなぁ。。。
ところで、これはなんのOS上で動くんだろう?ざっと見たんだけど載ってないっぽいや。
_ りにゅーある…?
トップページとにっきだけ、告知通りサイトの構成をいじってみた。 近頃はやりのサイドバーがある構成にしてみたんだけどどうだろう。
個人的には、目次のようなものはHTML上後ろにあるべきだと思っているので、必然的にサイドバーも右側へ。 CSSをちょいといじれば左側へ持っていくこともできるんだけど、やっぱりHTMLに書いた順に左上から右下へ文章が流れてほしいからね。
後は、いぬそふとときじりんくか。 ちょこちょことやっていくことにしよう。
あ、この修正中、日記のレイアウトが崩れまくっていたかと思う。 tDiaryを使っているため、WEBからレイアウトをいじるのでリアルタイムで修正している様を見せてしまった。
なんつーか……ごめんなさいm(_ _)m
2006年03月17日 [長年日記]
_ [W-ZERO3] ActiveSync中かどうかを調べる。
なおさんから頂いたツッコミによると、レジストリキーを参照することでActiveSync中かどうかを調べられるらしい。情報ありがとうございますm(_ _)m
早速試してみた結果を以下にまとめておこう。
ちなみに、以下に記載しているレジストリの値を書き換えても、実際の状態が変わるわけではない。 むやみにレジストリエディタで変更しないのが吉だ。
ActiveSyncで接続中。
これはなおさんから頂いた突っ込みの通り、以下のレジストリキーの値を見るとよい。
[HKEY_LOCAL_MACHINE\System\State\Hardware] "Cradled"=dword:00000001 ←接続中 "Cradled"=dword:00000000 ←未接続
ActiveSyncで同期中。
ActiveSyncで実際に同期しているかどうかは、以下のレジストリキーの値を見るとよい。 アイコンがくるくる回っているときのことね。
[HKEY_LOCAL_MACHINE\System\State\ActiveSync] "Synchronizing"=dword:00000001 ←同期中 "Synchronizing"=dword:00000000 ←同期していない
無線LAN接続中。
これはなおさんから頂いた突っ込みの転記である。私自身無線LANな環境を持っていないので試せていない。
[HKEY_LOCAL_MACHINE\System\State\Hardware] "WiFi"=dword:00000001 ←接続中 "WiFi"=dword:00000000 ←未接続
CLUB AIR-EDGEで接続中。
CLUB AIR-EDGEでパケット通信中は、以下のレジストリキーの値が変わる。まぁ、RasEnumConnectionsで調べればいいのであんまり意味ないかな。
[HEKY_LOCAL_MACHINE\System\State\Phone] "Status"=dword:00001000 ←接続中 "Status"=dword:00000000 ←未接続
インターネットに接続中。
ActiveSyncやCLUB AIR-EDGEでインターネットに接続できているかどうかは、以下の値を見るとよい。
[HKEY_LOCAL_MACHINE\System\State\Connections] "Count"=dword:00000000 ←接続していない "Count"=dword:00000001 ←1以上なら接続中
多分、無線LAN中もこの値が増えると思うのだが、未検証である。
ちなみに、ActiveSync経由のときはDesktop以下の、CLUB AIR-EDGE経由のときはModemとProxy以下の値に変化がおきている。
電話中。
電話しているかどうかは、以下のレジストリキーを…と思ったのだが、HKEY_LOCAL_MACHINE\System\State以下の全ての値をチェックした(つもりだ)けど、どこの値も変更されていなかった。Phone以下なんか怪しかったんだけど。
2006年03月18日 [長年日記]
_ りにゅーある…?の2
今度は、いぬそふとたちのサイトの構成を変えてみた。 同じようにサイドバーがある構成にしたので、いぬそふとなリンクから掲示板などへのリンクがちょっとわかりやすくなったかな。
でも、W-ZERO3のIEだとサイドバーにならず、下にいってしまうみたいですね(T-T) 回避策は考えてみます。しばしお待ちを…m(_ _)m
_ [tDiary] つっこみスパム。
ついに古い日記のつっこみスパムたちをきれいに消し去りました。 …ちょ〜っと、スパムじゃないつっこみも消してしまいましたが…。*1
最初は、tdiary-comment-cleanで消そうと思ったんだけど、つっこみにURLを書いてくれている人が結構居たのでうまい正規表現が見つからず、結局ひとつずつ手でしこしこ消していきました。 数百のつっこみスパムを消し去るのはちょ〜っと骨でしたね。
で、そんな手で消す作業をするために、chmod.rbというtDiaryプラグインを書きました。 ウチとこって、CGI経由で生成されたファイルってownerがnobodyになっちゃうからtelnetしてもそのファイルたちをいじれないんですよ。 なので、無理やりtDiaryのデータファイルをchmod 606することで対処したわけです。 多分あんまり需要はないとは思うのですが、一応公開しておいてみます。
# chmod.rb def chmod(mode) result = "" Dir.glob("#{@conf.data_path}**/*").sort.each do |fname| file = File.stat(fname) own = if file.owned? if mode == "true" if file.directory? File.chmod(0707, fname) else File.chmod(0606, fname) end "!" elsif mode == "false" if file.directory? File.chmod(0707, fname) else File.chmod(0604, fname) end "!" else "*" end else " " end file = File.stat(fname) result << own << " " << file.mode.to_s(8) << " " << fname << "\n" end result end add_conf_proc( 'chmod', 'chmod' ) do result = '' if @mode == 'saveconf' then result = chmod(@cgi.params["chmod.mode"][0]) end html = '' html << '<p>' html << "<hr />" html << "<p>" html << %Q[<input type="radio" name="chmod.mode" value="true">書けるようにする。<br>] html << %Q[<input type="radio" name="chmod.mode" value="false">書けないようにする。<br>] html << %Q[<input type="radio" name="chmod.mode" value="show" checked>今の状態を見る。<br>] html << "</p>" html << "<pre>" html << result html << "</pre>" html << '</p>' html end
*1 書いてくれていた人ごめんなさいですm(_ _)m
2006年03月20日 [長年日記]
_ [W-ZERO3] SandR Ver.1.00 リリース。
、メールの送受信を行うだけのソフトを公開します。
やってることは、SendNowのメール送受信部分を抜き出して実行しているだけです。(レジストリを書き換える、というヤツ)
ホントは、レジストリ書き換えなんかじゃなくて、接続から切断までを(自分の技術的興味のために)自力で実装するつもりだったんですが、なんだかうまくいかないのと、実際にこのようなソフトを私自身が欲しくなったのをきっかけに適当実装で作っちゃいました。 プログラム書ける人には笑っちゃうようなソースですが、お試しくださいませ。
私の場合W-ZERO3をUSBケーブルでActiveSyncに繋げていることが多いので、その間にメールが来たときに、一度USBケーブルを抜いて、メールを立ち上げて、メニューを表示させて、送受信を選択して…ってことを毎回やっています。けど、このSandRを使えば、ケーブルを抜いて、メールボタン長押しして…という風に手順が二つ減ってくれます。(あ、sandr.exeをメール長押しに割り当ててます)
結構快適のようです♪
_ [W-ZERO3] Status15のこと。
SendNowやSandRでは、「HKCU\Software\Sharp\PhoneStatus\Status15」を1にすることで、メールの送受信を実現しています。 このキーの値が元に戻るのはいつなのか調べてみたら、なんとメールの送受信が終わったときのようです。
…ということは、このキーを監視していれば、メール送受信が終わった後に何かをさせる、ということが可能になりそうです。 任意のソフトを起動できるようにするとよさそうですね。
例えば、
- SendNowでメール送信後に、自動でサスペンドにするためにAppCloseを起動する。
- SandRでメール受信後に、未読メールがあれば(ここはSandR側で判定が必要かな)kickmailで未読メールを表示する。
なんてことが実現できそうです。
2006年03月23日 [長年日記]
_ [WM5][W-ZERO3] MailSyncMessagesを使うには。
Windows Mobile 5.0から追加された「MailSyncMessages」というAPIを見つけた。MSDNによると、
The MailSyncMessages function synchronizes the messages for the specified account.
とこのことなので、 多分、指定したアカウントのメッセージの送受信ができると思われる。
ということで早速以下のようなコードを書いて試してみた。
#include "stdafx.h" #include "cemapi.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { MailSyncMessages(_T("070xxxxxxxx"), MCF_ACCOUNT_IS_NAME); return 0; }
ビルドしてみると、以下のようなエラーが出てしまう。
error LNK2019: 未解決の外部シンボル "long __cdecl MailSyncMessages(wchar_t const *,unsigned long)" (?MailSyncMessages@@YAJPB_WK@Z) が関数 WinMain で参照されました。
ちゃんと、cemapi.libはリンクしているのにもかかわらずだ。
いろいろ調べてみると*1、同じような現象に遭っている人*2を見つけた。 この人がやっているようにdumpbinを使ってみると、見事に同じ件であることが判明した。
C:\...\Lib\ARMV4I>dumpbin.exe /exports cemapi.lib | grep MailSyncMessages ?MailSyncMessages@@YAJPBGK@Z (long __cdecl MailSyncMessages(unsigned short const *,unsigned long)) C:\...\Lib\ARMV4I>
結局よくわかってないんだけど、ビルドする際のwchar_tの扱いの問題だったようだ。「プロジェクト」→「xxx のプロパティ...」から「構成プロパティ」→「C/C++」→「言語」の「wchar_tをビルドイン型として扱う」を「いいえ (/Zc:wchar_t-)」にすると無事にビルドされた。
さて、実際にMailSyncMessagesを呼ぶとどうなるかというと、以下のような動作をするようだ。
- 「メール(tmail)」を起動し、
- 指定したアカウントの「受信トレイ」をアクティブにし、
- 「送受信」相当の動作をする。
tmail側の動作は非同期で行われるようで、送受信が終了する前に、MailSyncMessagesの処理は返ってきていた。
SandRでレジストリを書き換える代わりにこいつを呼んでやると、他のアカウントの送受信もできるようになる。 しかし、tmailから「送受信」をしたタイミングでPHSの接続をした場合には切断はやってくれないのは変わらなかった。 PDXメールの送受信に限って言えばレジストリ書き換え方式の方が有用だろう。
_ [WM5][W-ZERO3] .Net Compact Framework 2.0メモ。
Windows Mobile 5.0用のインストーラの作成方法がわからなくて、zipでの提供のみをしていたんですが、インストーラの作成方法を解説しているサイトを見つけました。
一時期MIDPなアプリを作ろうとして参考にしていたん・ぱか工房さんところではないですかorz
次回リリースするときから、CABでの配布もするようにしてみようと思います。
さらに、「WILLCOM 携帯アプリプログラミングブック〜WS003SH-WX310SA-WX310J 対応」なんて本も出されているようで。 一度見てみますか。
2006年03月25日 [長年日記]
_ [W-ZERO3] SandR Ver.1.10 リリース。
先日にっきで書いていた、送受信の前後に別アプリと連携できる機能を追加しました。 これにより、送受信後に未読メールがあるときだけkickmailを使って未読メールを表示する、なんてことができるようになりました。
また、インストーラの作り方がわかったので、CABでの提供もするようにしています。今までの版を使っている人は一度プログラムを削除してからCABを実行するとよいかと思います。 まぁ、zip版も今までどおり提供しますので、インストーラを使いたくない人はこちらを使ってください。中身はいっしょですので。
変更点は以下の通りです。
- 二重起動できないようにした。
- 送受信前に起動されるアプリを指定可能にした。(beforeオプション)
- 送受信後に起動されるアプリを指定可能にした。(afterオプション)
- 送受信後に未読メールが会ったときのみ起動されるアプリを指定可能にした。(noreadオプション)
- CABによるインストーラを作成した。
2006年03月26日 [長年日記]
_ [W-ZERO3] W-ZERO3 Mail Filter Ver.0.21 リリース。
掲示板で、設定ファイルの順序が勝手に変わっちゃう問題を修正しました。 これで、設定ファイルに記述した順序で振り分けがされるようになります。
例えば、
[070xxxxxxxx\振り分け\振り分け1] pattern=1:hoge@example.com [070xxxxxxxx\振り分け\振り分け2] pattern=1:@example.com
とこの順序で指定しておくと、「hoge@example.com」から来たメールを「振り分け1」へ振り分け、それ以外のexample.comドメインから来たメールを「振り分け2」に振り分けられるようになります。 今までは、記述した通りに振り分けられるとは限らなかったため、このような運用ができなかったのでした。
あと、以前みなさまにお聞きした/noreadパラメータの件も修正しました。 初期値は「0」となるようにした以外は、以前書いた通りに実装しています。 ですので、/noreadパラメータを指定していた人は、設定ファイルを「shownoread=1」と修正してください。
というわけで、修正点は以下の通り。
- CABによるインストーラを作成した。
- /noreadパラメータを廃止し、shownoreadオプションを追加した。
- 設定ファイルの順序が勝手に変わる問題を修正した。
- 設定ファイルの順序の通りに振り分けを行うようにした。
2006年03月27日 [長年日記]
_ [W-ZERO3] W-ZERO3 Mail Filter Ver.0.22 リリース。
を修正しました。 WMFご利用の皆様、ご迷惑をおかけしました。
というわけで、あまり時間がないので修正点のみ。
- 複数のパターンがあってもそのうちの一件しか有効にならない問題を修正した。
- 分類項目から検索して振り分けを行うと、その設定が 設定ファイルの一番後ろに移動してしまう問題を修正した。
2006年03月30日 [長年日記]
_ [W-ZERO3][WM5] ExecMulti Ver.0.10 リリース。
W-ZERO3向けソフト第5弾は、ちょっと毛色の違うソフトになったようです。
某2chのコメントを見て衝動的に作ったものなので、自分でも使い道はあまり思いついていないのですが…。
まぁ、それはともかく複数のアプリケーションを同時に起動するだけのソフトを公開します。 お試しくださいませ。
んで、面白い使用法があれば是非教えてください(^^;;
_ solipt [「W-ZERO3 ツールMEMO」のsoliptと申します。 kickmail、W-ZERO3 Mail Filte..]
_ あいこん置き場 [2ちゃんねるスレでは論議するなと言われてしまいましたので、メールにてアイコンダウンロード先を送りました。 ご検討よろ..]
_ ももたろ [soliptさま> ブログで紹介していただいてありがとうございます。 まだ、いくつか構想はあるので、いろいろがんばっ..]